-
输入一个正整数n,求1到n之间所有数的平方和.
【问题描述】
输入一个正整数n,求1到n之间所有数的平方和.
【输入形式】
一个整数N
【输出形式】
一行,包含一个整数,表示1+2*2+3*3+…+n*n的和
【样例输入】
5
【样例输出】
55
#include<iostream>
using namespace std;
int main()
{
int n;
cin >> n;
int sum = 0;
for (int i = 1; i <= n; i++)
{
sum = sum + i * i;
}
cout << sum;
return 0;
}
2. 《级数求和》
【问题描述】
输入一个正整数n,计算下式的和(保留4位小数)。
e=1+1/1!+1/2!+1/3!+......+1/n!
要求:使用一重循环,不使用自定义函数。
【输入形式】
从键盘输入一个正整数n。
【输入输出样例1】(下划线部分表示输入)
Input n: 10
e=2.7183
【输入输出样例2】(下划线部分表示输入)
Input n: 3
e=2.6667
【样例说明】
输入提示符后要加一个空格。其中:后要加一个且只能一个空格。
输出语句的=两边无空格。
英文字母区分大小写。必须严格按样例输入输出。
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int n,a=1;
double e = 1;
cout << "Input n: ";
cin >> n;
for (int i = 1; i <= n; i++)
{
a = a * i;
e = e + 1.0 / a;
}
cout << "e=" <<fixed<<setprecision(4)<< e;
return 0;
}
3. 《求余弦函数的近似值》
【问题描述】
输入精度e 和实数x,用下列公式求cos x 的近似值,精确到最后一项的绝对值小于e。
【输入形式】
输入两个浮点数:精度e和实数x
【输入输出样例1】(下划线部分表示输入)
e: 0.001
x: 1
cos(x)=0.540
【样例说明】
输入提示符后要加一个空格。例如e: 0.001,其中:后要加一个且只能一个空格。
输出语句的=两边无空格
计算结果保留3位小数
英文字母区分大小写。必须严格按样例输入输出。
#include<iostream>
#include<iomanip>
#include<cmath>
using namespace std;
int main()
{
double e, x, sum=1, a=1;
cout << "e: ";
cin >> e;
cout << "x: ";
cin >> x;
int n = 0;
while (fabs(a) >= e)
{
n = n + 2;
int b = 1;
for (int i = 1; i <= n; i++)
{
b = b * i;
}
a = pow(x, n) / b;
if (n / 2 % 2)
a = -a;
sum = sum + a;
}
cout << "cos(x)=" <<fixed<<setprecision(3)<< sum;
return 0;
}
4. 《水仙花数》
【问题描述】
输入两个正整数m和n(m>=1,n<=1000),输出m到n之间的所有水仙花数。水仙花数是指各位数字的立方和等于其自身的数。例如,153的各位数字的立方和是13+53+33 =153。
【输入形式】
从键盘输入两个正整数m和n。
【输入输出样例1】(下划线部分表示输入)
Input m: 100
Input n: 400
153
370
371
【样例说明】
输入提示符后要加一个空格。其中:后要加一个且只能一个空格。
每行输出一个水仙花数。
英文字母区分大小写。必须严格按样例输入输出。
#include <iostream>
using namespace std;
int main()
{
int m, n;
cout << "Input m: ";
cin >> m;
cout << "Input n: ";
cin >> n;
for (m; m <= n; m++)
{
int a = m / 100;
int b = m % 100 / 10;
int c = m % 10;
if (a * a * a + b * b * b + c * c * c == m)
{
cout << m << endl;
}
}
return 0;
}
5. 求阶乘和
【问题描述】
求:1!+2!+3!+......+n!。设n为正整数,由用户从键盘输入。求n的阶乘用函数实现。
【输入形式】
3 (3为用户输入的正整数)
【输出形式】
9 (结果为1!+2!+3!的阶乘值)
【样例输入】
8
【样例输出】
46233
#include<iostream>
using namespace std;
int main()
{
int n;
cin >> n;
int m = 1, sum = 0;
for (int i = 1; i <= n; i++)
{
m = m * i;
sum = sum + m;
}
cout << sum;
return 0;
}
6.《求a +aa +aaa +aa…a(n 个a) 之和》
【问题描述】
输入2个正整数a和n,求a+aa+aaa+aaa(n个a)之和。例如,输入2和3,输出246(2+22+222)。
【输入形式】
从键盘输入正整数a和正整数n。
【输入输出样例1】(下划线部分表示输入)
Input a, n: 8 5
s=98760
【样例说明】
输入提示符后要加一个空格。其中,:后要加一个且只能一个空格。
输出语句的s=两边无空格。
英文字母区分大小写。必须严格按样例输入输出。
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int a, n, s = 0, m = 0;
cout << "Input a, n: ";
cin >> a >> n;
for (int i = 0; i < n; i++)
{
m = m + a * pow(10, i);
s = s + m;
}
cout << "s=" << s;
return 0;
}