求 S=a+aa+aaa+…+aaa…a 的值,其中a是一个数字,n代表a的位数,例如2+22+222+2222+22222(n=5)。
C语言编程:
#include
int main(int argc, char *argv[])
{
int a;
int n;
int num=1;//计算每次n个a的值
int sum=0;//计算总和
int i;
scanf("%d%d",&a,&n);
for(i=0;i<n;i++)
{
if(i==0)//第一次
{
num=a;
sum+=num;
}
else//以后的都满足关系:这个数等于前一个数*10+a
{
num=num*10+a;
sum+=num;
}
}
printf("%d",sum);//输出总和
return 0;
详细操作:
打开Dev-c++软件,点击“新建源代码”。
具体程序如下:
#include
int main()
{
int i,j,a,n,sum=0,term=0;
printf("please input a number:");
scanf("%d",&a);
printf("please input n number:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
term=term*10+a;
sum=sum+term;
}
printf("a+aa+aaa+...+a...a=%d",sum);
return 0;
}
编写完程序之后,点击运行即可得出结果。最后的结果是根据自己输入的n值和a值为基础来进行运行的,每次输入的值不同,结果也会不同。
其中:for表示循环结构,i 表示循环条件,在编写程序时,注意给赋予增值变量的条件。
其中:term=term*10+a 中的term表示a的位数,跟随每次循环结构的变换,term不断被赋予新值。sum=sum+term 表示累加的值,每次循环之后的sum都会被赋予新值,所以,在编写程序时,要注意 i 的最大循环次数,否则,此程序会无限选循环下去,最终没有结果。
C语言经典例子之求s=a+aa+aaa+aa...a的值
int Num(int a,int n)//Num函数用来求出aa...a(n个a)
{
int i,sum=0;
for(i=0;i<n;i++)
sum=a+10*sum;
return sum;
}
int main()
{
int n,a;
int i,sum=0;
printf("a=?,n=?\n");
scanf("%d%d",&a,&n);
for(i=1;i<=n;i++)
sum+=Num(a,i);
printf("a=%d,n=%d\n",a,n);
printf("sum=%d\n",sum);
return 0;
}
1楼的回答很不错,要找到数据间的关系,简化算法。
string a ="?";
string str1 = "";
int S = 0;
for (int i = 0; i < n; i++)
{
str1 += a;
S += Convert.ToInt32(str1);
}
S就是你要的值了
求S=a+aa+aaa+…+aaa…a 的值,其中a是一个数字,n代表a的位数,例如2+22...
int Num(int a,int n)\/\/Num函数用来求出aa...a(n个a){ int i,sum=0;for(i=0;i<n;i++)sum=a+10*sum;return sum;} int main(){ int n,a;int i,sum=0;printf("a=?,n=?\\n");scanf("%d%d",&a,&n);for(i=1;i<=n;i++)sum+=Num(a,i);printf("a=%d,n=%d\\n...
求s=a+aa+aaa +…+a…a的值,其中a是一个数字。例如s=2+22+222+...
我的 求s=a+aa+aaa +…+a…a的值,其中a是一个数字。例如s=2+22+222+2222+2 求s=a+aa+aaa+…+a…a的值,其中a是一个数字。例如s=2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。... 求s=a+aa+aaa +…+a…a的值,其中a是一个数字。例如s=2+22+222+2222+22222(此时...
求S=a+aa+aaa+...+aaa...a的编程题
sn+=m;a*=10;++i;} printf("a+aa+aaa+...=%d\\n",sn);} c++代码:include <iostream.h> void main(){ int a,n,sn=0,i,m=0;cout<<"Input a:";cin>>a;cout<<"Input n:";cin>>n;i=n;while(i--){ m+=a;sn+=m;a*=10;} cout<<"a+aa+aaa+...="<<sn<<endl;...
这是一道C语言编程题:求s=a+aa+aaa+⋯⋯+aa⋯a,最后一项为n个a...
+a*10^n-1得到的for(; i <= n; i++){sum += temp; temp *= 10;\/\/a=a*10 }return sum; } long getSum(long n, long a){\/\/计算a+aa+aaa…… int i = 1;long sum = 0;for(; i <= n; i++)sum += getVal(i,a); return sum; } int main(){long n = 0;...
编程实现,输入整数n和s,输出S=a+aa+aaa+…+aa…a(n个a)的结果.
int s;for(i=1;i<n;i*=10)sum+=s; \/\/ 1) 1,2)这是S=a+aa+aaa+...+a(N个a)的算法 s=s+s*10;\/\/ 2) 这个感觉书上是由的吧。。。 不写太多。。
c语言编程题 求s=a+aa+aaa+……+aaa…a(有n个a),a,n都由键盘输入。请问...
找不到哪错了,我编了一个、和你的不同! 可以看看 include <stdio.h> main(){ int a;int s=0;int c;int t=0;int i,j;printf("本程序求和s=a+aa+aaa+...\\n");printf("请分别输入a值及求和次数");scanf("%d %d",&a,&c);i = 1;while(i<=c){ t=t*10+a;s=s+t;i...
求s=a+aa+aaa+…+aa…a的和。比如:a=6,m=4则s=6+66+666+6666。
return sum;} int main(void){ int a,m;printf("Input a & m:\\n");scanf("%d%d",&a,&m);printf("The result is %I64d\\n",sum(m,a));return 0;} 如果一定要用long,那就把凡__int64的地方改成long,把printf("The result is %I64d\\n",sum(m,a));中的%I64d改成%ld……...
一道C语言循环题s=a+aa+aaa+…+aa…a(n个a)之值,其中a是一个数字,n代 ...
include <stdio.h>void main(){int i,k=0,s=0,a,n;scanf("%d%d",&a,&n);for(i=1;i<=n;i++){k=k*10+a;s+=k;}printf("Sn=%d",s);}
s=a+aa+aaa+...+a...a; 其中a是一个数字,几个数相加有键盘控制(用n表 ...
scanf("%d&d",&a,&n);改为 scanf("%d%d",&a,&n);
求s=a+aa+aaa+aaa…aaa(n个a)的值,a和n由键盘输入。
include<stdio.h> void main() { int s,a,n,i,t;scanf("%d%d",&a,&n); s=0; t=0;for ( i=0;i<n;i++ ) { t*=10; t+=a; s+=t; } printf("%d\\n",s);}