| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3209 人关注过本帖
标题:求 Sn=a+aa+aaa+...+aa...a之值,其中a是一个数字。例如: 2+22+222+2222(此 ...
只看楼主 加入收藏
静静静子
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2019-4-8
结帖率:0
收藏
已结贴  问题点数:20 回复次数:4 
求 Sn=a+aa+aaa+...+aa...a之值,其中a是一个数字。例如: 2+22+222+2222(此时n=4),n由键盘输入。
#include"stdio.h"
main()
{
    int a,s;
  scanf("%d%d",&a,&n);
  s=0;
  t=a;
  for(i=1;i<=n,i++)
  {s=s+t;
  t=t*a+a;
  }
  printf("s=%d\n",s);
  }
想知道我的为什么不对
搜索更多相关主题的帖子: aaa 一个数 键盘 输入 for 
2019-04-08 21:37
word123
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:13
帖 子:333
专家分:1622
注 册:2014-4-5
收藏
得分:7 
t=t*10+a;
2019-04-08 22:00
豆豆的滴
Rank: 9Rank: 9Rank: 9
来 自:湖南
等 级:贵宾
威 望:33
帖 子:368
专家分:1087
注 册:2018-5-7
收藏
得分:7 
同楼上
2019-04-09 07:58
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9024
专家分:54030
注 册:2011-1-18
收藏
得分:7 
不就是小学1年级的竖式加法嘛,结果的个位是 (n*a)%10,十位是 ((n-1)*a + 上次的余数)%10,……。用字符串将之保存下来。
但,题目要求中没交代 n 的取值范围?

没交代n的取值范围,就只能动态分配了
程序代码:
#include <stdio.h>
#include <stdlib.h>

int main( void )
{
    unsigned a, n;
    scanf( "%u%u", &a, &n );

    // 先算出结果有几位
    const size_t len = (a==0||n==0?1:n) + (a==9 && n>1);

    char* p = (char*)malloc( len+1 );
    p[len] = '\0';
    unsigned carry = 0;
    for( size_t i=0; i!=len; ++i )
    {
        carry += (n-i)*a;
        p[len-i-1] = carry%10 + '0';
        carry /= 10;
    }
    puts( p );
    free( p );
}

输入 0 8 输出 0
输入 8 0 输出 0
输入 2 4 输出 2468
输入 9 4 输出 11106
输入 9 100 输出 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111010

2019-04-09 09:05
静静静子
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2019-4-8
收藏
得分:0 
回复 2楼 word123
谢谢
2019-04-11 07:45
快速回复:求 Sn=a+aa+aaa+...+aa...a之值,其中a是一个数字。例如: 2+22+222+2 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.036698 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved