求 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);
}
想知道我的为什么不对
#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 ); }