01_南理学工学院OJ_部分简单题目
来源:互联网 发布:javascript xml 编辑:程序博客网 时间:2024/04/27 17:05
听网友建议,前段时间接触刘汝佳的《算法竞赛入门经典》时在南理学工学院(http://acm.nyist.net/JudgeOnline/problemset.php)刷过的一些些简单题目。
南理学工学院_部分简单题目(8题):
南阳理工学院_0001_A+B Problem.cpp
南阳理工学院_0004_ASCII码排序.cpp
南阳理工学院_0011_奇偶数分离.cpp
南阳理工学院_0013_Fibonacci数.cpp
南阳理工学院_0031_5个数求最值.cpp
南阳理工学院_0034_韩信点兵.cpp
南阳理工学院_0039_水仙花数.cpp
南阳理工学院_0041_三个数从小到大排序.cpp
南阳理工学院_0001_A+B Problem.cpp
// 南阳理工学院_0001_A+B Problem.cpp/** * A+B Problem * 时间限制:3000 ms | 内存限制:65535 KB * 难度:0 * 描述 * 此题为练手用题,请大家计算一下a+b的值 * 输入 * 输入两个数,a,b * 输出 * 输出a+b的值 * 样例输入 * 2 3 * 样例输出 * 5 **/#include <iostream>using namespace std;int main(){ int a, b; cin >> a >> b; cout << a + b << endl; return 0;}
南阳理工学院_0004_ASCII码排序.cpp
// 南阳理工学院_0004_ASCII码排序.cpp/** * ASCII码排序 * 时间限制:3000 ms | 内存限制:65535 KB * 难度:2 * 描述 * 输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符。 * 输入 * 第一行输入一个数N,表示有N组测试数据。后面的N行输入多组数据,每组输入数据都是占一行,有三个字符组成,之间无空格。 * 输出 * 对于每组输入数据,输出一行,字符中间用一个空格分开。 * 样例输入 * 3 * qwe * asd * zxc * 样例输出 * e q w * a d s * c x z * 来源 * 网络 * 上传者 * naonao **/ #include <iostream>using std::cin;using std::cout;inline void swap(char & x, char & y){char t;t = x;x = y;y = t; return;}int main(){int n;cin >> n;while( n--){char a;char b;char c;cin >> a >> b >> c;if (a > b) swap(a, b);if (a > c) swap(a, c);if (b > c) swap(b, c);cout << a << " " << b << " " << c << std::endl;}return 0;}
南阳理工学院_0011_奇偶数分离.cpp
// 南阳理工学院_0011_奇偶数分离.cpp/** * 奇偶数分离 * 时间限制:3000 ms | 内存限制:65535 KB * 难度:1 * 描述: * 有一个整型偶数n(2<= n <=10000),你要做的是:先把1到n中的所有奇数从小到大输出,再把所有的偶数从小到大输出。 * 输入: * 第一行有一个整数i(2<=i<30)表示有 i 组测试数据; * 每组有一个整型偶数n。 * 输出: * 第一行输出所有的奇数 * 第二行输出所有的偶数 * 样例输入: * 2 * 10 * 14 * 样例输出: * 1 3 5 7 9 * 2 4 6 8 10 * * 1 3 5 7 9 11 13 * 2 4 6 8 10 12 14 * * 来源: * [苗栋栋]原创 * 上传者 * 苗栋栋 **/#include <iostream>using std::cin;using std::cout;using std::endl;int main(){ int i(0); cin >> i; for ( int j = 0; j < i; ++j) { int max; cin >> max; int oddNumber(1); int evenNumber(2); for (; oddNumber <= max; oddNumber += 2) { cout << oddNumber << " "; } cout << endl; for (; evenNumber <= max; evenNumber +=2) { cout << evenNumber << " "; } cout << endl; cout << endl; } return 0;}
南阳理工学院_0013_Fibonacci数.cpp
// 南阳理工学院_0013_Fibonacci数.cpp/** * Fibonacci数 * 时间限制:3000 ms | 内存限制:65535 KB * 难度:1 * 描述 * 无穷数列1,1,2,3,5,8,13,21,34,55...称为Fibonacci数列,它可以递归地定义为 * F(n)=1 ...........(n=1或n=2) * F(n)=F(n-1)+F(n-2).....(n>2) * 现要你来求第n个斐波纳奇数。(第1个、第二个都为1) * 输入 * 第一行是一个整数m(m<5)表示共有m组测试数据 * 每次测试数据只有一行,且只有一个整形数n(n<20) * 输出 * 对每组输入n,输出第n个Fibonacci数 * 样例输入 * 3 * 1 * 3 * 5 * 样例输出 * 1 * 2 * 5 * 来源 * 经典题目 * 上传者 * 张云聪 **/#include <iostream>using std::cin;using std::cout;int main(){int n;cin >> n;while( n--){int number;cin >> number;int sum = 1;int last = 0;while(--number){int prevent = sum;sum += last;last = prevent;}cout << sum << std::endl;}return 0;}
南阳理工学院_0031_5个数求最值.cpp
// 南阳理工学院_0031_5个数求最值.cpp/** * 5个数求最值 * 时间限制:1000 ms | 内存限制:65535 KB * 难度:1 * 描述 * 设计一个从5个整数中取最小数和最大数的程序 * 输入 * 输入只有一组测试数据,为五个不大于1万的正整数 * 输出 * 输出两个数,第一个为这五个数中的最小值,第二个为这五个数中的最大值,两个数字以空格格开。 * 样例输入 * 1 2 3 4 5 * 样例输出 * 1 5 * 来源 * C语言课本第四章第一题 * 上传者 * 张云聪 **/ #include <iostream>using namespace std;int main(){int a[5]; cin >> a[0] >> a[1] >> a[2] >> a[3] >> a[4];int maxElem = a[0];int minElem = a[0];int i;for (i = 0; i !=5; ++i){ if (a[i] > maxElem) maxElem = a[i]; if (a[i] < minElem) minElem = a[i];}cout << minElem << " " << maxElem << endl;return 0;}
南阳理工学院_0034_韩信点兵.cpp
// 南阳理工学院_0034_韩信点兵.cpp/** * 韩信点兵 * 时间限制:3000 ms | 内存限制:65535 KB * 难度:1 * 描述 * 相传韩信才智过人,从不直接清点自己军队的人数,只要让士兵先后以三人一排、五人一排、七人一排地变换队形,而他每次只掠一眼队伍的排尾就知道总人数了。输入3个非负整数a,b,c ,表示每种队形排尾的人数(a<3,b<5,c<7),输出总人数的最小值(或报告无解)。已知总人数不小于10,不超过100 。 * 输入 * 输入3个非负整数a,b,c ,表示每种队形排尾的人数(a<3,b<5,c<7)。例如,输入:2 4 5 * 输出 * 输出总人数的最小值(或报告无解,即输出No answer)。实例,输出:89 * 样例输入 * 2 1 6 * 样例输出 * 41 * 来源 * 经典算法 * 上传者 * 首席执行官 **/ #include <iostream> using std::cin; using std::cout;int main(){int a, b, c;cin >> a >> b >> c;int x = 0;for (x = 10; x <= 100; ++x){if ( (x % 3 == a) && (x % 5 == b) && (x % 7 == c)){cout << x << "\n";break;}}if ( x == 101){cout << "No answer\n";}return 0;}
南阳理工学院_0039_水仙花数.cpp
// 南阳理工学院_0039_水仙花数.cpp/** * 水仙花数 * 时间限制:1000 ms | 内存限制:65535 KB * 难度:0 * 描述 * 请判断一个数是不是水仙花数。 * 其中水仙花数定义各个位数立方和等于它本身的三位数。 * 输入 * 有多组测试数据,每组测试数据以包含一个整数n(100<=n<1000) * 输入0表示程序输入结束。 * 输出 * 如果n是水仙花数就输出Yes * 否则输出No * 样例输入 * 153 * 154 * 0 * 样例输出 * Yes * No * 来源 * C语言课本习题改编 * 上传者 * 张云聪 **/ #include <iostream>using std::cin;using std::cout; inline int threeTime(int source){ return source * source * source;}inline int result(int source){ return threeTime(source/100) + threeTime(source % 100 / 10) + threeTime(source % 10);} int main(){ int test; while(cin >> test) { if (test == 0) { break; } if ( result(test) == test ) { cout << "Yes\n"; } else { cout << "No\n"; } } return 0;}
南阳理工学院_0041_三个数从小到大排序.cpp
// 南阳理工学院_0041_三个数从小到大排序.cpp/** * 三个数从小到大排序 * 时间限制:3000 ms | 内存限制:65535 KB * 难度:0 * 描述 * 现在要写一个程序,实现给三个数排序的功能 * 输入 * 输入三个正整数 * 输出 * 给输入的三个正整数排序 * 样例输入 * 20 7 33 * 样例输出 * 7 20 33 * 来源 * [张洁烽]原创 * 上传者 * 张洁烽 **/#include <iostream>using std::cin;using std::cout;int main(){int a, b, c;cin >> a >> b >> c;if (a > b) { a = b + a; b = a - b; a = a -b;}if (a > c) { a = c + a; c = a - c; a = a - c;}if (b > c) { b = c + b; c = b - c; b = b - c;}cout << a << " " << b << " " << c << " "<< std::endl;return 0;}
- 01_南理学工学院OJ_部分简单题目
- 南阳理工OJ_题目252 01串
- OJ_华南农业大学_数据结构_基数排序
- 南阳理工OJ_题目709 异形卵
- 南阳理工OJ_题目714 Card Trick
- 南阳理工OJ_题目16 矩形嵌套
- 南阳理工OJ_题目168 房间安排
- 南阳理工OJ_题目303 序号互换
- 南阳理工OJ_题目305 表达式求值
- 南阳理工OJ_题目308 Substring
- 南阳理工OJ_题目915 +-字符串
- 南阳理工OJ_题目18 The Triangle
- 南阳理工OJ_题目10 skiing
- 南阳理工OJ_题目995 硬币找零
- 南阳理工OJ_题目37 回文字符串
- 南阳理工OJ_题目311 完全背包
- 南阳理工OJ_题目47 过河问题
- 南阳理工OJ_题目91 阶乘之和
- JSP自定义标签(一) 树形下拉选择菜单
- Android - ImageButton单击切换按钮图片效果的实现
- 未来物联网时期安防企业如何失掉话语权
- Android 面试题笔记-------bindservice与startservice的生命周期?
- android - ListView的使用
- 01_南理学工学院OJ_部分简单题目
- 生活之中需要注意的一些事情
- 主要的技术Blog网站
- flexlib SuperTabNavigator 无法访问空对象引用的属性或方法
- dbms_xplan.display_cursor 获取执行过的sql的执行计划
- Amazon Web Services的一些入门知识
- 查询计划中集的势(Cardinality)的计算
- UNIX网络编程学习(10)续--处理accept返回EINTR错误的TCP服务器程序最终(正确)版本
- Android之进程间传递自定义类型参数