题目描述
求Sn=a+aa+aaa+…+aa…aaa(有n个a)之值,其中a是一个数字,为2。 例如,n=5时=2+22+222+2222+22222,n由键盘输入。
输入格式
n
输出格式
Sn的值
样例输入
5
样例输出
24690
题目地址
https://www.dotcpp.com/oj/problem1013.html
代码一:我自己做题写的,笨方法
#include<stdio.h>
#include<math.h>
int main()
{
int n;
int i;
int Sn=0;
scanf("%d",&n);
for(i=0;i<n;i++){
Sn=Sn+(int)(2.222222222222*pow((double)10,(double)(n-1-i)));
}
printf("%d",Sn);
return 0;
}
代码二:看别人的方法,这个才是正常思路。以后看见这种求和类型的题,要学会找规律,找到规律,题目就迎刃而解了。
#include<stdio.h>
int main()
{
int n;
int Sn=0,i;
int sum=0;
scanf("%d",&n);
for(i=1;i<=n;i++){
sum=sum*10+2;
Sn=Sn+sum;
}
printf("%d",Sn);
return 0;
}