题目1
【问题描述】
输入一个正整数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
【样例说明】
输入提示符后要加一个空格。其中:后要加一个且只能一个空格。
输出语句的=两边无空格。
英文字母区分大小写。必须严格按样例输入输出。
【代码】
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| #include <iostream> #include <iomanip> #include <stdio.h> using namespace std;
int main() { float n,m,a; float e; cout<<"Input n: "; cin>>n; m=1; a=1; e=1; for(m;m<=n;m++) { a=a/m; e=e+a; } cout<<"e="<<fixed << setprecision(4)<<e<<endl; return 0; }
|
题目2
【问题描述】
换钱。编程:求将N元换成用10元、5元和1元的组合,共有多少种组合方法?
【输入形式】
用户输入金额,单位元、正整数。
【输出形式】
总的组合数。单独占一行。
【样例输入】
5
【样例输出】
2
【样例输入】
10
【样例输出】
4
【代码】
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| #include <iostream> #include <iomanip> #include <stdio.h> using namespace std;
int main() {int a,b,c,d,e; cin>>a; e=0; for(b=0;b<=a/10;++b){ for(c=0;c<=a/5;++c){ for(d=0;d<=a;++d){ if(a==b*10+c*5+d){ ++e;} } } } cout<<e<<endl; }
|
题目3
【问题描述】
角谷猜想(冰雹猜想)。对于任意一个正整数n,如果是奇数,则变成:3*n+1;如果是偶数,则变成:n/2。得到的结果如果不是1,再按上述规则重复处理,该处理一直进行,运算的最终结果将是1。编程让用户输入一个正整数n,输出得到1的总步数。
【输入形式】
用户输入一个正整数。
【输出形式】
输出得到1的过程中所处理的总步数。单独占一行。
【样例输入】
4
【样例输出】
2
【样例输入】
5
【样例输出】
5
【代码】
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| #include <iostream> #include <iomanip> #include <stdio.h> using namespace std;
int main(){ int a,b; cin>>a; for(;a!=1;){ if ( a % 2 == 0) {a=a/2; b++; } else {a=3*a+1; b++; } } cout<<b<<endl; }
|
题目4
【问题描述】
输入2个正整数a和n,求a+aa+aaa+aa…a(n个a)之和。例如,输入2和3,输出246(2+22+222)。
【输入形式】
从键盘输入正整数a和正整数n。
【输入输出样例】
Input a, n: 8 5
s=98760
【样例说明】
输入提示符后要加一个空格。其中“:”后要加一个且只能一个空格。
输出语句的“=”两边无空格。
英文字母区分大小写。必须严格按样例输入输出。
【代码】
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| #include <iostream> #include <iomanip> #include <stdio.h> using namespace std;
int main(){ int a,n,m,b,e; cout<<"Input a, n: "; cin>>a>>n; m=1; b=0; e=a; for(;m<=n;m++){ b=b+a; a=e+a*10;
} cout<<"s="<<b<<endl; }
|
题目5
【问题描述】
输入2 个正整数m 和n(m>=1,n<=500),统计并输出m 和n 之间的素数的个数以及这些素数的和。素数就是只能被1 和自身整除的正整数,最小的素数是2。
【输入形式】
输入2个正整数m和n,要求m>=1,n<=
【输入输出样例】
Input m: 1
Input n: 10
count=4, sum=17
【样例说明】
输入提示符后要加一个空格。例如Input m: 1;,其中:后要加一个且只能一个空格。
输出语句的=两边无空格, count=4的逗号后有一个空格,然后是sum=17
英文字母区分大小写。必须严格按样例输入输出。
【代码】
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| #include <iostream> #include <iomanip> #include <stdio.h> #include <cmath> using namespace std;
int main(){ int m,n,s=0,c=0,i,j; cout<<"Input m: "; cin>>m; cout<<"Input n: "; cin>>n; for(i=m;i<=n;i++) { for(j=2;j<i;j++) if(i%j==0) break; if(j==i) { s=s+i; c++; } } cout<<"count="<<c<<", sum="<<s<<endl; }
|
代码可能略有不足,请大佬多多指教