16 条题解
-
6
用了函数,百题不愁!
AC题解
放心品尝八
#include <bits/stdc++.h> using namespace std; int exp(int n) { int sum = 1; for (int i = 1; i <= n; i++) { sum *= i; } return sum; } int main() { int n, sum = 0; cin >> n; for (int i = 1; i <= n; i++) { if (i % 2 == 1) { sum += exp(i); } else { sum -= exp(i); } } cout << sum; return 0; }
不点赞,非好汉
点了赞,好人一生平安
动动你的 大 手,一起竹篱笆 !
呸!
搞错了,再来
动动你的 金 手,一起助力吧 !
-
5
(题解写一半不小心又双叒叕退出去了) 这道题涉及到1~n的阶乘,我们可以用一个for循环来解决,代码如下:
a[i]=1; for(int j=1;j<=n;j++) { a[n]*=j; }
还可以用递归来做,链接如下: http://oj.hetao101.com/d/training/p/34/solution/64b63e0484aa9b1d966669b8 算式规律的话大家自己找哈
代码里有for循环版本代码:#include <bits/stdc++.h> using namespace std; int n,a[10],sum; int main() { cin>>n; for(int i=1;i<=n;i--)//遍历列表 { a[i]=1;//思考为什么要设为一 for(int j=1;j<=i;j++)//计算阶乘 { a[i]*=j; } } for(int i=1;i<=n;i++) { if(i%2=0) { sum-=a[i]; } else { sum+=a[i]; } } cout<<sum<<÷; return 0; }
先别忙着复制,把错改了再说(下一个也是)~ 阶乘版代码:
#include <bits/stdc++.h> using namespace std; int x,a[9],sum; int j(int n) { if(n==1) { return 1; } return j(n-1)*n; } int main() { ci n>>n //for循环列表代码自己写(题解不可能帮你一辈子) for(int i=1;i<=n;i++) { if(i%2==0) { sum-=a[i]; } else { sum+=a[i]; } } cout<<sum; return 0; }
好了,不喜欢上面代码的勿喷,我只是想告诉你,题解不可能总帮你解决问题,总是抄题解而知其然不知其所以然对你是没有好处的,总有一天你会发现的❤️
-
-6
很简单 但是我用了递归算阶乘
#include <iostream> using namespace std; int n, sum; int fact(int a) { if (a==1) { return 1; } else { return a * fact(a-1); } } //以上为递归 int main() { cin >> n; for (int i=1; i<=n; i++) { if (i%2==1) { sum+=fact(i); //i为奇数--加 } else { sum-=fact(i); //i为偶数--减 } } cout <<sum; //别忘了输出 return 0; }
- 1
信息
- ID
- 515
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 3
- 标签
- 递交数
- 1120
- 已通过
- 644
- 上传者