用c语言完成:输入两个正整数a和n,求a+aa+aa…a(n个a))
时间: 2023-05-18 22:05:50 浏览: 107
以下是用 C 语言完成输入两个正整数 a 和 n,求 a aa aa…a(n 个 a) 的代码:
#include <stdio.h>
#include <math.h>
int main() {
int a, n, i, sum = 0;
printf("请输入两个正整数 a 和 n:\n");
scanf("%d %d", &a, &n);
for (i = 1; i <= n; i++) {
sum += a * pow(10, i - 1) * n;
}
printf("%d\n", sum);
return 0;
}
如果您有任何关于这个问题的疑问,可以随时问我。
相关问题
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;
}
```
c语言输入两个正整数a和n 求a+aa+aaa(n个a之和)函数fn(a,n)的功能是返回aa..a
函数fn(a,n)的功能是返回aa..a,其中a重复n次组成的数字。例如,fn(2,3)=222。下面是完整的代码实现:
```c
int fn(int a, int n) {
int result = 0;
for (int i = 0; i < n; i++) {
result = result * 10 + a;
}
return result;
}
```
同时,题目还要求实现函数SumA(a,n),该函数返回a + aa + aaa + ...(n个a之和)。下面是完整的代码实现:
```c
int SumA(int a, int n) {
int result = 0;
for (int i = 1; i <= n; i++) {
result += fn(a, i);
}
return result;
}
```
如果输入a = 2,n = 3,则fn(a,n)= 222,SumA(a,n)= 2 + 22 + 222 = 246。