c语言编写程序,求a+aa+aaa+aa…a:,输入两个正整数a和n, 求a+aa+aaa+aa…a(n个a)之和。
时间: 2023-11-11 12:04:51 浏览: 48
这是一个c语言编写程序,求a+aa+aaa+aa…a的问题。给定两个正整数a和n,要求输出它们的和。可以使用两个函数来实现,一个是fn函数,用来返回一个n个a组成的数,另一个是SumA函数,用来求a+aa+aaa+aa…a(n个a)之和。具体实现可以参考以下代码:
```
#include <stdio.h>
//返回n个a组成的数字
int fn(int a, int n) {
int sum1 = 0;
//数是n位数就进行n次加法运算求和
for(int i = 1; i <= n; i++) {
sum1 += a;
a *= 10;
}
return sum1;
}
//返回要求的和
int SumA(int a, int n) {
int sum2 = 0; //sum2用来求n个a
int sign = 0; //sign用来存最终的和
for(int i = 1; i <= n; i++) {
sum2 += fn(a, i);
sign += sum2;
}
return sign;
}
int main() {
int a, n;
scanf("%d %d", &a, &n);
printf("%d\n", SumA(a, n));
return 0;
}
```
相关问题
给定两个均不超过9的正整数a和n,要求用c语言编写程序求a+aa+aaa++⋯+aa⋯a(n个a)之和。
好的,这个问题可以回答。以下是C语言程序求解:
```c
#include<stdio.h>
#include<math.h>
int main()
{
int a,n,sum=0,num=0;
printf("请输入a和n的值:\n");
scanf("%d %d",&a,&n);
for(int i=1;i<=n;i++)
{
num=num+a*pow(10,i-1);
sum=sum+num;
}
printf("a aa aaa ... (n个a)之和为:%d",sum);
return 0;
}
```
输入样例1:
```
2 3
```
输出样例1:
```
a aa aaa ... (n个a)之和为:246
```
输入样例2:
```
5 2
```
输出样例2:
```
a aa aaa ... (n个a)之和为:60
```
希望能够帮到你!
C语言程序编写:输入两个正整数a和n,求a+aa+aaa+…+aa…a(n个a)之和。
解法1:
```c
#include <stdio.h>
int main()
{
int a, n, sum = 0, i, temp = 0;
scanf("%d%d", &a, &n);
for (i = 0; i < n; i++)
{
temp = temp * 10 + a; // 计算 a, aa, aaa, ..., a...a(n个a)
sum += temp; // 累加到总和中
}
printf("%d\n", sum);
return 0;
}
```
解法2:
```c
#include <stdio.h>
#include <math.h>
int main()
{
int a, n, sum = 0, i;
scanf("%d%d", &a, &n);
for (i = 1; i <= n; i++)
{
sum += a * (pow(10, i) - 1) / 9; // 利用公式计算 a, aa, aaa, ..., a...a(n个a)
}
printf("%d\n", sum);
return 0;
}
```
解法3:
```c
#include <stdio.h>
int main()
{
int a, n, sum = 0, i, j = 1;
scanf("%d%d", &a, &n);
for (i = 0; i < n; i++)
{
sum += a * j; // 利用数学方法计算 a, aa, aaa, ..., a...a(n个a)
j = j * 10 + 1;
}
printf("%d\n", sum);
return 0;
}
```