51nod初学者首页1级题题解(1)
2050http://www.51nod.com/Challenge/Problem.html#problemId=2050
输入一个整数n(保证范围在0到25之间),表示一个人的年龄。
如果n在0~3的范围内,输出"infant"。
如果n在4~12的范围内,输出"child"。
如果n在13~18的范围内,输出"youngster"。
如果n在19~25的范围内,输出"youth"。
思路:逐一判断输出即可。
#include <bits/stdc++.h>
using namespace std;
int main() { int n;cin>>n;if(n>=0&&n<=3)cout<<"infant";if(n>=4&&n<=12)cout<<"child";if(n>=13&&n<=18)cout<<"youngster";if(n>=19&&n<=25)cout<<"youth";return 0;
}
2056http://www.51nod.com/Challenge/Problem.html#problemId=2056
输入一个整数n,使用试除法判断它是不是素数。如果是,输出"Yes",否则输出"No"。
for 循环判断,当能整除时,flag=0,跳出循环。
#include <bits/stdc++.h>
using namespace std;
int main() { int n;cin>>n;int x=sqrt(n),flag=1;for(int i=2;i<=x;i++){if(n%i==0){flag=0;break;}}if(flag)cout<<"Yes";else cout<<"No";return 0;
}
2057http://www.51nod.com/Challenge/Problem.html#problemId=2057
输入一个整数n(n <= 10000)。随后输入n个整数。输出这n个整数中的最小值。
打擂台求最小值
#include <bits/stdc++.h>
using namespace std;
const int maxn=10005;
int a[maxn];
int main() { int n,minn=100000000000;cin>>n;for(int i=1;i<=n;i++){cin>>a[i];if(a[i]<minn)minn=a[i];}cout<<minn<<endl;return 0;
}
2059http://www.51nod.com/Challenge/Problem.html#problemId=2059
现在小瓜想通过台阶走上平台,最底层(小瓜所在的层)编号为1,最顶层编号为n。由于小瓜的腿比较短,他一次只能向上走1级或者2级台阶。小瓜想知道他有多少种方法走上平台,你能帮帮他吗?
用递归,递归式 为ff(n-1)+ff(n-2)
#include<bits/stdc++.h>
using namespace std;
int ff(int n){if(n==1||n==2)return 1;else return ff(n-1)+ff(n-2);
}
int main() { int n;cin>>n;cout<<ff(n);return 0;
}
2086http://www.51nod.com/Challenge/Problem.html#problemId=2086
输入一个正整数n(1<=n<=100000)输出1, 2, 3, ..., n。每行一个数字。
循环基础题
#include <bits/stdc++.h>
using namespace std;
int main() { int n;cin >> n;for(int i=1;i<=n;i++)cout<<i<<endl;return 0;
}
2087http://www.51nod.com/Challenge/Problem.html#problemId=2087
输入一个正整数n(3<=n<=100000)输出3, 6, 9, ...,即输出所有<=n的,3的倍数。从小到大依次输出,只考虑3的正整数倍。每行一个数字。
循环内部判断是否是3的倍数
#include <bits/stdc++.h>
using namespace std;
int main() { ios::sync_with_stdio(false);int n;cin >> n;for(int i=1;i<=n;i++){if(i%3==0){cout<<i<<endl;}}return 0;
}
2088http://www.51nod.com/Challenge/Problem.html#problemId=2088
输入一个正整数n(1 <= n <= 100)输出一个由*组成的塔。
具体来说,输出共n行,第i行(从1开始数)有2i-1个*。在第i行的*前面,有n-i个空格。每行行尾是没有空格的。
双重for循环输出*,每行输出2*行数-1.
#include <bits/stdc++.h>
using namespace std;
int main() { int n;cin>>n;for(int i=1;i<=n;i++){for(int j=1;j<=2*i-1;j++){cout<<"*";}cout<<endl;}return 0;
}
2090http://www.51nod.com/Challenge/Problem.html#problemId=2090
如果一个数字的十进制表示中有7,我们就认为他是幸运数字。输入一个数字n(1 <= n <= 10^9)。判断n是否是一个幸运数字,如果是的话输出"Yes",否则输出"No"。
while循环,循环条件为n>0。每层循环判断个位是否为7(用%运算,%10取个位),最后n/=10。循环结束后,输出No(当是幸运数时,会在循环里结束程序,不会输出No)。
#include <bits/stdc++.h>
using namespace std;
int main() { int n;cin >> n;while(n>0){if(n%10==7){cout<<"Yes"<<endl;return 0;}n/=10;}cout<<"No"<<endl;return 0;
}
2091http://www.51nod.com/Challenge/Problem.html#problemId=2091
如果一个数字的十进制表示中有7,我们就认为他是幸运数字。输入两个整数L, R(1<=L<=R<=100000)输出所有满足L<=n<=R的幸运数字n。从小到大输出所有幸运数字,一行一个。特别注意如果区间内没有任何一个幸运数字,输出None。
这题是上 一题的改进,判断的方法一样,加个for循环和sum累加。
#include <bits/stdc++.h>
using namespace std;
bool xy(int a)
{while(a){int sum=a%10;if(sum==7)return 1;a=a/10;}return 0;
}
int main()
{long long n,m,sum=0;cin>>n>>m;for(int i=n;i<=m;i++){if(xy(i)){cout<<i<<endl;sum++;}}if(sum==0)cout<<"None";return 0;
}
2092http://www.51nod.com/Challenge/Problem.html#problemId=2092
输入一个长度为n(1 <= n <= 100000)数组,倒序输出他。数组中的元素ai满足(1≤ai≤100000)。
数组的基础题,倒序输出,i从n开始,到1结束。(别忘了要输出n)。
#include <bits/stdc++.h>
using namespace std;
int a[100005];
int main() { int n;cin>>n;for(int i=1;i<=n;i++)cin>>a[i];cout<<n<<endl;for(int i=n;i>=1;i--)cout<<a[i]<<endl;return 0;
}
51nod初学者首页1级题题解(1)相关推荐
- 51nod初学者首页1级题题解(5)
2404 启蒙练习-2的幂整除 给一个正整数n,计算它最多能被2的多少次幂整除. i是计数器,每次加1,当不能被2整除时,就输出. 代码中有位运算,是为了提高效率(其实是装逼). #include & ...
- 51nod挑的部分5级题
最近心情不好所以写代码来获得快落 4级题有点难做?然后就开始挑简单的5级题开始写 然后准备记录一些自己没有做出来 参考讨论区或者博客才做出来的题目 51nod_1189 阶乘分数 这个题参考了讨论区 ...
- 51nod初学者习题(一)
-2136 打印图形 1 秒 131,072 KB 5 分 1 级题 由键盘输入一个大写字母(A 到 Z 中的任意一个),输出如下图所示由相关大写字母组成的图形.所输入的字母一定为输出文件的第一个字符 ...
- 2020校招4399游戏开发岗笔试编程题题解部分
2020校招4399游戏开发岗笔试编程题题解 序号四 题目描述: 有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位. 输入描述: 一 ...
- 枚举求解单词方阵(洛谷P1101题题解,Java语言描述)
题目要求 P1101题目链接 分析 可以用DFS做,但我立下了个Flag,所以就用了朴素的枚举来做.... 结果,我的天哪,做了好几个小时-- 其实这种地图题,真的适合 DFS or BFS or D ...
- 线性存储的最短平均检索时间(洛谷P1253题题解,Java语言描述)
题目要求 P1253题目链接 分析 很像 ~洛谷P1223题题解~,也是一种类似SJF的贪心法. 排个序,由于两个不大于10000的数,乘起来还是int,就使用int属性吧. 数据量小,所以Scann ...
- 快速幂||取余运算【模板】(洛谷P1226题题解,Java语言描述)
题目要求 P1226题目链接 分析 标准的快速幂取模算法板子,之前这个算法我在这篇文章中讲过了:<快速幂算法详解&&快速幂取模算法详解>. 这里选择使用比较简单的API实现 ...
- 队列模拟约瑟夫问题(洛谷P1996题题解,Java语言描述)
题目要求 P1996题目链接 分析 以前就研究过"约瑟夫环"问题: <单循环链表求解约瑟夫环问题(Java语言描述)> <杀人游戏~约瑟夫环(洛谷P1145题题解 ...
- 两分数相乘后约分的Cantor表(洛谷P1482题题解,Java语言描述)
题目要求 P1482题目链接 分析 据说本题是这题的升级版-- → P1014题题解 升级的地方其实就是相乘之后约分. 约分需要求解最大公约数,gcd()是吧-- 但我这里偏偏懒得写gcd,就想用Ja ...
最新文章
- Center OS 离线安装Mysql5.7
- VMware学习使用笔记
- Notification with Service Workers push events
- windowslive writer 发布问题
- python请输入第一个数请输入第二个数_Python小白学习之路(四)——第一次练习题...
- 【Linux系统编程】信号 (上)
- [你必须知道的.NET]第十九回:对象创建始末(下)
- treeview节点的复制 c# 1614606987
- android语音识别开源代码,android语音识别,有没有相应的源码,教程可以推荐啊?
- 老兵的十年职场之路(二)
- Android 驱动(3)---Android驱动开发知识储备
- 你见过最奇葩的人和事是什么?
- nginx html目录 404 盘符_nginx配置场景分析 location /
- mysql 一条sql 事务_MySQL的事务
- 如何用iso文件制作U盘启动
- matlab势场动态栅格路径规划,融栅格法和人工势场法的机器人三维路径规划
- 使用Vue开发Chrome插件
- 《转》android利用socket与java后台交互的设计与实现
- 2020武理计专上岸,拿下一等奖学金的曲折经历分享
- 经济适用型北京生活经验分享,80后北漂看过来