[PTA]7-38 数列求和-加强版
Posted Spring-_-Bear
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[PTA]7-38 数列求和-加强版相关的知识,希望对你有一定的参考价值。
给定某数字A(1≤A≤9)以及非负整数N(0≤N≤100000),求数列之和S=A+AA+AAA+⋯+AA⋯A(N个A)。例如A=1, N=3时,S=1+11+111=123。
输入格式:
输入数字A与非负整数N。
输出格式:
输出其N项数列之和S的值。
输入样例:
1 3
结尾无空行
输出样例:
123
结尾无空行
- 提交结果:
- 源码:
#include<stdio.h>
int main()
{
int sum[100000];
int A, N;
int carry = 0;
scanf("%d %d", &A, &N);
if (N == 0)
{
printf("0");
}
else
{
/* 对sum[]数组赋值,最大为N个A的十进制数 */
for (int i = 0; i < N; i++)
{
sum[i] = A;
}
/* 依次使sum[]数组的长度减1 */
for (int i = N - 1; i >= 1; i--)
{
sum[i] = sum[i] * (i + 1) + carry;
int temp = sum[i];
sum[i] = sum[i] % 10;
carry = temp / 10;
}
sum[0] = A + carry;
for (int i = 0; i < N; i++)
{
printf("%d", sum[i]);
}
}
return 0;
}
以上是关于[PTA]7-38 数列求和-加强版的主要内容,如果未能解决你的问题,请参考以下文章