论坛: 编程破解 标题: c语言 复制本贴地址    
作者: baobao [gnijnil]    论坛用户   登录
3.求s=a+aa+aaa+…aaaa…a(n个a),假设由键盘输入a 和 n 的值为2和8,
则s=2+22+222+…22222222
我是这样做的。就是不行。要怎么改啊??谢谢。
main()
{int t,i,n,a,add=2,sum=0;
  printf("input the value of n,a:");
  scanf("%d,%d",&n,&a);
  for(i=1;i<=n;i++)
    {t=10*(i-1)*a; 这句要怎么改了才行??
    add+=t;
    sum+=add;
    }
    printf("%d",sum);
  getch();



[此贴被 baobao(gnijnil) 在 04月11日13时17分 编辑过]

地主 发表时间: 05-04-11 11:25

回复: onizuka [onizuka]   论坛用户   登录
int范围太小

B1层 发表时间: 05-04-11 11:37

回复: 286 [unique]   版主   登录
main()
{
int t,i,n,a,sum=0;
printf("input the value of n,a:");
scanf("%d,%d",&n,&a);

t=a;
for(i=0;i<n;i++)
    {
sum+=t;
t=10*t+a;
    }
    printf("%d",sum);
getch();
}

B2层 发表时间: 05-04-11 15:46

回复: leenux [leenux]   论坛用户   登录
main()
{ int n,i,e,x;
  long int a,sum,t,;
  sum=0;
  printf("input the value of the a,n");
  scanf("%d,%d",&a,&n);
  x=a;
  if(n==1)
    sum=a;
  else
    for(i=2;i<=n;i++)
      {for(t=1,e=1,e<i;e++)
          t=t*10;
        a=a+a*t;    /*第i项*/
        sum=sum+a;  /*第2到n项的和*/
        }
  sum=sum+x;
  return(sum);
}
未经测试,请各位高手指点,简化.

B3层 发表时间: 05-04-11 17:15

回复: baobao [gnijnil]   论坛用户   登录
好了。谢谢你们了。

B4层 发表时间: 05-04-11 19:52

回复: kenter1643 [kenter1643]   论坛用户   登录
286的程序巧妙精短~~~~顶

B5层 发表时间: 05-04-14 21:47

回复: xxing [xxing]   论坛用户   登录
请问这里的SUM最大值是多少,我算出来是“-15761”不太明白

B6层 发表时间: 05-04-18 16:51

论坛: 编程破解

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号