用c++写一个1+2+...+n的和的程序,n<=200000000000
时间: 2024-05-14 09:11:45 浏览: 69
以下是C语言的程序:
```c
#include <stdio.h>
int main() {
long long n, sum;
printf("请输入n的值:");
scanf("%lld", &n);
sum = (n + 1) * n / 2;
printf("1到%lld的和为:%lld\n", n, sum);
return 0;
}
```
注意,由于n的值可能非常大,因此要使用long long类型来存储n和sum,否则可能会发生溢出。另外,本程序的时间复杂度为O(1),即不随n的大小而变化。
相关问题
用c++写一个1+2+...+n的程序,n<=20000000000
好的,以下是C语言的代码:
```c
#include <stdio.h>
int main() {
long long n, i;
scanf("%lld", &n);
for (i = 1; i <= n; i++) {
printf("%lld ", i);
}
return 0;
}
```
但是需要注意的是,如果n太大(比如题目中的20000000000),程序可能会卡死或者耗时过长,需要考虑优化算法。
如何使用C++求1+1/(1+2)+1/(1+2+3)+.......+1/(1+2+3......+n)的和?
以下是使用C++求1+1/(1+2)+1/(1+2+3)+.......+1/(1+2+3......+n)的和的程序:
```c++
#include <iostream>
using namespace std;
int main() {
int n;
double sum = 0, temp = 0;
cout << "请输入一个整数n:" << endl;
cin >> n;
for (int i = 1; i <= n; i++) {
temp += i;
sum += 1.0 / temp;
}
cout << "前" << n << "项的和为:" << sum << endl;
return 0;
}
```
阅读全文
相关推荐
















