处于美铼 发表于 2021-10-26 18:30:42

特殊的求和

编写函数int fun(int a,int n)求Sn = a + aa + aaa + … + aa…a 的值(最后一个数中 a 的个数为 n ),其中 a 是一个1~9的数字,例如:

2 + 22 + 222 + 2222 + 22222 (此时 a=2 n=5 ) 。参数由主函数传入,最终结果传回主函数再输出。

【输入形式】一行,包括两个整数,第一个为a,第2个为n(1 ≤ a, n ≤ 9),以空格分隔。

【输出形式】一行,Sn的值。

【样例输入】2 5

【样例输出】24690

jhq999 发表于 2021-10-26 21:12:52

本帖最后由 jhq999 于 2021-10-26 21:17 编辑


scanf("%d %d",&a,&n);
Sn=0;
num=a;
for(i=0;i<n;i++)
{
   Sn+=num;
    num=num*10+a;
}
循环部分也可以

while(n-->=0)
{
    Sn+=num;
    num=num*10+a;
}

村里小黑 发表于 2021-10-27 09:39:45

本帖最后由 村里小黑 于 2021-10-27 09:46 编辑

仅供参考:
#include <stdio.h>
#include <math.h>

int main()
{
        scanf("%d %d",&a,&n);
        int Sn=0;
        int num=a;
        int data = 0;
        for(i=0;i=<n;i++)
                {
                        data =num*pow(10,i)+data;
                        Sn = Sn+data;
                }
        return 0;
}
页: [1]
查看完整版本: 特殊的求和