目录
35. 数列:s = 1 + 1/2 + 1/3 + … + 1/n
36. 数列:s = 1 - 1/2 - 1/3 - … - 1/n
37. 数列:s = 1 + 1/2 - 1/3 + … + 1/n
38. 数列:s = 1 - 1/2 + 1/3 + … - 1/n
39. 数列:s = 1 + 1/4 + 1/7 + 1/10 ... + 1/(3*n-2)
40. 数列:s = 1 - 1/4 - 1/7 - 1/10 ... - 1/(3*n-2
31. 数列:s = 1 + 2 + 3 + … + n
输入 1 个正整数 n(n<=100) ,计算并输出 1+2+3…+n
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n; // 输入正整数n
int sum = n * (n + 1) / 2; // 高斯求和公式
cout << sum << endl;
return 0;
}
32. 数列:s = 1 - 2 - 3 - … - n
输入 1 个正整数 n(n<=100) ,计算并输出 1-2-3…-n
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n; // 输入正整数n
// 计算2到n的和
int sum_from_2_to_n = (n + 2) * (n - 1) / 2;
// 最终结果为1减去上述和
int result = 1 - sum_from_2_to_n;
cout << result << endl;
return 0;
}
33. 数列:s = 1 + 2 - 3 + … - n
输入 1 个正整数 n(n<=100) ,计算并输出 1+2-3+…-n
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n; // 输入正整数n
if (n == 1) {
cout << 1 << endl;
return 0;
}
if (n == 2) {
cout << 3 << endl;
return 0;
}
int sum = 1 + 2; // 前两项的和
bool negative = true; // 下一项是否为负
for (int i = 3; i <= n; ++i) {
if (negative) {
sum -= i;
} else {
sum += i;
}
negative = !negative; // 符号交替
}
cout << sum << endl;
return 0;
}
34. 数列:s = 1 - 2 + 3 - … + n
输入 1 个正整数 n(n<=100) ,计算并输出 1-2+3-…+n
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n; // 输入正整数n
int sum = 0;
for (int i = 1; i <= n; ++i) {
if (i % 2 == 1) { // 奇数位为正
sum += i;
} else { // 偶数位为负
sum -= i;
}
}
cout << sum << endl;
return 0;
}
35. 数列:s = 1 + 1/2 + 1/3 + … + 1/n
输入 1 个正整数 n(n<=100) ,计算并输出 1+1/2+1/3…+1/n
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
int n;
cin >> n; // 输入正整数n
double sum = 0.0;
for (int i = 1; i <= n; ++i) {
sum += 1.0 / i; // 每一项都是正数,直接相加
}
// 输出结果,保留4位小数
cout << fixed << setprecision(4) << sum << endl;
return 0;
}
36. 数列:s = 1 - 1/2 - 1/3 - … - 1/n
输入 1 个正整数 n(n<=100) ,计算并输出 1-1/2-1/3…-1/n
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
int n;
cin >> n; // 输入正整数n
// 处理n=1的特殊情况
if (n == 1) {
cout << "1.0000" << endl;
return 0;
}
double sum = 1.0; // 第一项是1
for (int i = 2; i <= n; ++i) {
sum -= 1.0 / i; // 后续各项都是减去1/i
}
// 输出结果,保留4位小数
cout << fixed << setprecision(4) << sum << endl;
return 0;
}
37. 数列:s = 1 + 1/2 - 1/3 + … + 1/n
输入 1 个正整数 n(n<=100) ,计算并输出 1+1/2-1/3…+1/n
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
int n;
cin >> n; // 输入正整数n
double sum = 0.0;
for (int i = 1; i <= n; ++i) {
if (i % 2 == 0) { // 偶数项为正
sum += 1.0 / i;
} else { // 奇数项(除了i=1)为负
if (i == 1) {
sum += 1.0;
} else {
sum -= 1.0 / i;
}
}
}
// 输出结果,保留4位小数
cout << fixed << setprecision(4) << sum << endl;
return 0;
}
38. 数列:s = 1 - 1/2 + 1/3 + … - 1/n
输入 1 个正整数 n(n<=100) ,计算并输出 1-1/2+1/3…-1/n
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
int n;
cin >> n; // 输入正整数n
double sum = 0.0;
for (int i = 1; i <= n; ++i) {
if (i % 2 == 1) { // 奇数项为正
sum += 1.0 / i;
} else { // 偶数项为负
sum -= 1.0 / i;
}
}
// 输出结果,保留4位小数
cout << fixed << setprecision(4) << sum << endl;
return 0;
}
39. 数列:s = 1 + 1/4 + 1/7 + 1/10 ... + 1/(3*n-2)
输入一个正整数 n ,计算前 n 项之和: 1+1/4+1/7+1/10...+1/(3*n-2)
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
int n;
cin >> n; // 输入正整数n
double sum = 0.0;
for (int i = 1; i <= n; ++i) {
sum += 1.0 / (3 * i - 2); // 计算第i项并累加
}
// 输出结果,保留4位小数
cout << fixed << setprecision(4) << sum << endl;
return 0;
}
40. 数列:s = 1 - 1/4 - 1/7 - 1/10 ... - 1/(3*n-2)
输入一个正整数 n ,计算前 n 项之和: 1-1/4-1/7-1/10...-1/(3*n-2)
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
int n;
cin >> n; // 输入正整数n
if (n == 1) {
cout << "1.0000" << endl;
return 0;
}
double sum = 1.0; // 第一项是1
for (int i = 2; i <= n; ++i) {
sum -= 1.0 / (3 * i - 2); // 减去后续各项
}
// 输出结果,保留4位小数
cout << fixed << setprecision(4) << sum << endl;
return 0;
}