4 条题解
-
5
哈喽哈喽这里是桉。
对于入门题其实不是很想说什么。勤勤恳恳敲代码就好。
本题就是循环的使用。有for/while两种循环(或者也可以写递归)
废话不多说 上代码——
#include <bits/stdc++.h> using namespace std; int n,ans; int main() { scanf("%d",&n); for(int i=1;i<=n;i++) { ans+=i; } printf("%d",ans); return 0; }
因为我比较懒的缘故。所以剩余的两种方法就不一一列举出来了。
就这样吧。有帮助记得点个赞。
——题解by桉。
-
3
本题有四种思路,我不像楼上那么
懒,所以就一一写出来了😄 (Oh,no!我的手好酸!!!)思路一:用for循环求解
#include<bits/stdc++.h>//万能头文件 using namespace std; int main(){ int n,ans=0;//ans用来存储最后的总数(记得初始化) cin>>n; for(int i=1;i<=n;i++){ ans+=i;//叠加,也可以写成ans=ans+i; } cout<<ans;//输出 return 0; }
思路二:用while循环求解
#include<bits/stdc++.h> using namespace std; int main(){ int n,ans=0; cin>>n; while(n>0){//while循环过程 ans+=n; n--; } cout<<ans; return 0; }
思路三:用公式求解,公式为
n*(n+1)/2
#include<bits/stdc++.h> using namespace std; int main(){ int n,ans=0; cin>>n; cout<<n*(n+1)/2;//套公式,直接输出 return 0; }
思路四:用递归求解
#include<bits/stdc++.h> using namespace std; int f(int x){//递归函数 if(x==1){ return 1; } return x+f(x-1); } int main(){ int n; cin>>n; cout<<f(n); return 0; }
看在我打了4种方法的份上,您就发发慈悲点个赞吧❤️❤️❤️ ,我会感谢您的大恩大德的🎉️
- 1
信息
- ID
- 1105
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 3
- 标签
- 递交数
- 176
- 已通过
- 94
- 上传者