p.s.个人收录用
题目描述
用高精度方法,求s=1+2+3+……+n的精确值(n以一般整数输入)。
输入
输入一个整数n(n<=1000000)
输出
输出累加和
样例输入 Copy
10
样例输出 Copy
55
代码
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
#include <string.h>
//求n累加和
int main()
{
int n;
scanf("%d", &n);
int a[100];
int b;
memset(a, 0, sizeof(a));
for (int i = 1; i <= n; i++)
{
a[0] += i;
b = 0;
for (int j = 0; j < 100; j++)
{
a[j] += b;
b = a[j] / 10;//进
a[j] = a[j] % 10;
}
}
int i;
for (i = 99; i >= 0; i--)
{
if (a[i])
break;
}
for (int j = i; j >= 0; j--)
{
printf("%d", a[j]);
}
printf("\n");
}