
百练OJ
文章平均质量分 59
Cynical丶Gary
我们仰望着同一片天空却看着不同的地方
展开
-
百练_1067取石子游戏(威佐夫博弈)
1067:取石子游戏描述: 有两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在两堆中同时取走相同数量的石子。最后把石子全部取完者为胜者。现在给出初始的两堆石子的数目,如果轮到你先取,假设双方都采取最好的策略,问最后你是胜者还是败者。输入:输入包含若干行,表示若干种石原创 2017-05-29 22:34:09 · 485 阅读 · 0 评论 -
百练_2746约瑟夫问题
约瑟夫问题(有时也称为约瑟夫斯置换,是一个出现在计算机科学和数学中的问题。在计算机编程的算法中,类似问题又称为约瑟夫环。又称“丢手绢问题”.)问题:设编号为1,2,...,n的n个人按顺时针方向坐成一排,每个人都有一个正整数密码,开始时任意选一个正整数m(m思路:用顺序存储结构存储每个人的编号,定义一个数组a,数组元素从0开始,所以初始时a[i]存放人的编号为i+1,用计数原创 2017-02-28 10:32:51 · 1154 阅读 · 0 评论 -
百练_2981大整数加法(大数相加)
问题:求两个不超过200位的非负整数的和。 输入:22222222222222222222 33333333333333333333 输出: 55555555555555555555 C语言中最大的整型数据类型是long类型,占4个字节 C中短整型和整型均占2个字节,取值范围是 -32768 ~~~ 32767 长整型占4个字节,原创 2017-03-03 13:04:06 · 953 阅读 · 0 评论 -
百练_2888字符串中的数字
(POJ 2888:字符串中的数字)问题:输入一个字符串,长度不超过20,字符串中包含数字和非数字字符,将其中是数字的字符提取出来,对它们进行从小到大排序,非数字字符则忽略不计。输入:若干行字符串输出:每一个字符串中所有数字的升序排序。每个数字占四个字符位置,处理完一行字符串换行一次。样例输入:样例输出:思路:用字原创 2017-03-06 21:31:51 · 985 阅读 · 0 评论 -
百练_3670计算鞍点
(POJ)3670:计算鞍点描述给定一个5*5的矩阵,每行只有一个最大值,每列只有一个最小值,寻找这个矩阵的鞍点。鞍点指的是矩阵中的一个元素,它是所在行的最大值,并且是所在列的最小值。例如:在下面的例子中(第4行第1列的元素就是鞍点,值为8 )。11 3 5 6 912 4 7 8 1010 5 6 9 118 6 4 7 215 10 11 2原创 2017-03-08 21:13:34 · 744 阅读 · 0 评论 -
百练_3195最大公约数
POJ3195:最大公约数描述输入2个正整数,求出他们的最大公约数。输入输入两个正整数,只有一行,整数之间用一个空格分开输出输出最大公约数,只有一行,包括三个数据,分别为采用十进制,十六进制和八进制表示的最大公约数,输出数据之间用空格隔开样例输入样例输出#includeint ma原创 2017-03-14 19:55:05 · 467 阅读 · 0 评论 -
百练_3179查找一个句子中的最长单词
查找最长单词题目:输入一个英文句子,长度不超过200个字符。输出句子中最长的一个单词。如果有多个这样的单词,输出最后出现的。输入:多组数据,每行为一个句子,其中包含其他字符,其他字符不算在要查询的单词之中输出:每行一个最长单词。这里单词的定义是仅由连续的字母组成的字符串。样例输入:Have a nice day.样例输原创 2017-04-06 16:34:08 · 2685 阅读 · 0 评论 -
百练_2972确定数制进制转换
2972:确定进制描述6*9 = 42 对于十进制来说是错误的,但是对于13进制来说是正确的。即, 6(13) * 9(13) = 42(13), 而 42(13) = 4 * 131+ 2 * 130= 54(10)。 你的任务是写一段程序读入三个整数p、q和 r,然后确定一个进制 B(2<=B<=16) 使得 p * q = r. 如果 B有很多选择, 输出最小的一个。例如:原创 2017-04-15 13:56:47 · 756 阅读 · 0 评论 -
百练_3249大数二进制转换
POJ(3249:进制转换)总时间限制:1000ms内存限制:65536kB描述将一个长度最多为30位数字的十进制非负整数转换为二进制数输出。输入多组数据,每行为一个长度不超过30位的十进制非负整数。(注意是10进制数字的个数可能有30个,而非30bits的整数)输出每行输出对应的二进制数。样例输入0138样例原创 2017-04-18 19:45:04 · 783 阅读 · 0 评论 -
百练_2757字符串数组排序问题
POJ2752:字符串数组排序问题描述给定一组字符串,按指定的排序方式输出这些字符串。排序可是自然顺序(inc)、自然逆序(dec)、忽略大小写顺序(ncinc)、忽略大小写逆序(ncdec)等。输入输入有多行,第一行为一个表明排序方式的字符串见题面,第二行为字符串的数目。其余各行每行一个字符串,字符串中间可能空格,前后也可能有空格,但前后的空格要忽略。原创 2017-04-22 14:08:15 · 2528 阅读 · 2 评论 -
百练_3671字符串排序
POJ3671:字符串排序描述输入5个字符串,每个串的长度均不超过10个字符,将字符串排序后输出。目的:学会使用私字符串函数,strcpy和strcmp。使用注意:#include 提示1:两个字符串可以整体比较大小,使用系统函数strcmp()举例:比较str1和str2的大小t=strcmp(str1,str2);t有三种可能 0(str1==str原创 2017-04-22 14:34:00 · 474 阅读 · 0 评论 -
百练_2765八进制小数
2765:八进制小数总时间限制: 1000ms 内存限制: 65536kB 描述八进制有限小数均可以用十进制有限小数精确地表示。比如,八进制里面的0.75等于十进制里面的0.963125 (7/8 + 5/64)。所有小数点后位数为n的八进制小数都可以表示成小数点后位数不多于3n的十进制小数。你的任务是写一个程序,把(0,1)之间的八进制小数转化成十进制小数。原创 2017-04-22 14:43:52 · 428 阅读 · 0 评论 -
百练_2980大整数乘法(大数相乘)
描述求两个不超过200位的非负整数的积。输入有两行,每行是一个不超过200位的非负整数,没有多余的前导0。输出一行,即相乘后的结果。结果里不能有多余的前导0,即如果结果是342,那么就不能输出为0342。样例输入1234567890098765432100样例输出1219326311126352690000引自《程序设计导引及在线实践》原创 2017-07-13 10:02:59 · 825 阅读 · 0 评论 -
百练_2709:求出e的值
描述利用公式e = 1 + 1/1! + 1/2! + 1/3! + ... + 1/n! 求e 。输入输入只有一行,该行包含一个整数n(2输出输出只有一行,该行包含计算出来的e的值,要求打印小数点后10位。样例输入10样例输出2.7182818011提示1、e以及n!用double表示2、要输出浮点数、双精度数小数点后10位数字原创 2017-07-20 21:39:46 · 519 阅读 · 0 评论 -
百练_2708:平衡饮食
描述100克不同食品的营养成分含量如下表:食品--------蛋白质-------脂肪----------碳水化合物大米--------7.5----------0.75----------78面----------10-----------1.25----------75蔬菜--------1.5----------0.19----------4.28豆类------原创 2017-07-20 21:40:15 · 557 阅读 · 0 评论 -
百练_2703:骑车与走路
描述在北大校园里,没有自行车,上课办事会很不方便.但实际上,并非去办任何事情都是骑车快,因为骑车总要找车、开锁、停车、锁车等,这要耽误一些时间.假设找到自行车,开锁并车上自行车的时间为27秒;停车锁车的时间为23秒;步行每秒行走1.2米,骑车每秒行走3.0米.请判断走不同的距离去办事,是骑车快还是走路快.输入第一行为待处理的数据的数量n其后每一行整数为一次办事要行走的距离,单位为米原创 2017-07-20 21:40:37 · 924 阅读 · 0 评论 -
百练_2702:密码翻译
描述在情报传递过程中,为了防止情报被截获,往往需要对情报用一定的方式加密,简单的加密算法虽然不足以完全避免情报被破译,但仍然能防止情报被轻易的识别.我们给出一种最简的的加密方法,对给定的一个字符串,把其中从a-y,A-Y的字母用其后继字母替代,把z和Z用a和A替代,则可得到一个简单的加密字符串.输入第一行是字符串的数目n, (也要使用get(s)读取字符串,再用n=atoi(s)获得整原创 2017-07-20 22:49:29 · 842 阅读 · 0 评论 -
百练_2701:与7无关的数
描述一个正整数,如果它能被7整除,或者它的十进制表示法中某一位上的数字为7,则称其为与7相关的数.现求所有小于等于n(n 输入输入为一行,正整数n(n 输出输出一行,包含一个整数,即小于等于n的所有与7无关的正整数的平方和。样例输入21样例输出2336#includeint main(){ int i,l,x,y原创 2017-07-20 22:49:56 · 786 阅读 · 0 评论 -
百练_2700:字符替换
描述把一个字符串中特定的字符全部用给定的字符替换,得到一个新的字符串。输入只有一行,由一个字符串和两个字符组成,中间用单个空格隔开。字符串是待替换的字符串,字符串长度小于等于30个字符,且不含空格等空白符;接下来一个字符为需要被替换的特定字符;接下来一个字符为用于替换的给定字符。输出一行,即替换后的字符串。样例输入hello-how-are-you o原创 2017-07-20 22:50:18 · 1020 阅读 · 0 评论 -
百练_2680:化验诊断
描述下表是进行血常规检验的正常值参考范围,及化验值异常的临床意义:给定一张化验单,判断其所有指标是否正常,如果不正常,统计有几项不正常。化验单上的值必须严格落在正常参考值范围内,才算是正常。正常参考值范围包括边界,即落在边界上也算正常。输入输出对于每组测试数据,输出一行。如果所有检验项目正常,则输出:normal;否则输出不正常的项的数目。样例输入2f原创 2017-07-18 10:00:16 · 2360 阅读 · 10 评论 -
百练_2681:求字符串长度
描述求一个长度不大于100的字符串的长度,要求不使用strlen方法,并且使用到字符指针。输入输出字符串的长度。样例输入I love Beijing.样例输出15#includeint main(){ int i,l,j,k; char *p; char juzi[255]; while(gets(juzi)) { p=j原创 2017-07-18 10:02:39 · 492 阅读 · 0 评论 -
百练_2683:求分数序列和
描述有一个分数序列 2/1,3/2,5/3,8/5,13/8,21/13,.... 求这个分数序列的前n项之和。输入输入有一行:正整数n。输出输出有一行:分数序列的和(浮点数,精确到小数点后4位)。可以printf("%.4lf\n", a)输出浮点数并精确到小数点后4位。样例输入99样例输出160.4849#includeint ma原创 2017-07-18 10:10:34 · 424 阅读 · 0 评论 -
百练_2684:求阶乘的和
描述给定正整数n,求不大于n的正整数的阶乘的和(即求1!+2!+3!+...+n!)输入输入有一行,包含一个正整数n(1 输出输出有一行:阶乘的和。样例输入5样例输出153#includeint main(){ int i,n,l,y,sum=0; scanf("%d",&n); for(l=1;l<=n;l++) {原创 2017-07-18 10:12:50 · 1429 阅读 · 0 评论 -
百练_2685:打印水仙花数
描述打印出所有得“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字的立方和等于该数本身,例如,152是水仙花数,因为153=1×1×1+5×5×5+3×3×3。输入无输入。输出输出所有水仙花数,每行输出一个水仙花数。样例输入样例输出#includeint main(){ int i,a,b,c; for(i=100;i<10原创 2017-07-18 10:14:06 · 303 阅读 · 0 评论 -
百练_2687:数组逆序重放
描述将一个数组中的值按逆序重新存放。例如,原来的顺序为8,6,5,4,1。要求改为1,4,5,6,8。输入输入为两行:第一行数组中元素的个数n(1输出输出为一行:输出逆序后数组的整数,每两个整数之间用空格分隔。样例输入58 6 5 4 1样例输出1 4 5 6 8(测试只用一组数据好像你用多了用while()循环就会判你错误)#includ原创 2017-07-18 10:20:47 · 526 阅读 · 0 评论 -
百练_2686:打印完数
描述一个数如果恰好等于它的因子之和,这个数就成为“完数”。例如,6的因子为1、2、3,而6=1+2+3,因此6是“完数”。编程序打印出1000之内(包括1000)所有的完数,并按如下格式输出其所有因子:6 its factors are 1,2,3输入无输入输出输出1000以内所有的完数及其因子,每行一个完数。样例输入样例输出来源#i原创 2017-07-18 10:16:15 · 393 阅读 · 0 评论 -
百练_2688:求字母的个数
描述在一个字符串中找出元音字母a,e,i,o,u出现的次数。输入输入一行字符串(字符串中可能有空格,请用gets(s)方法把一行字符串输入到字符数组s中),字符串长度小于80个字符。输出输出一行,依次输出a,e,i,o,u在输入字符串中出现的次数,整数之间用空格分隔。样例输入If so, you already have a Google Account. You ca原创 2017-07-18 10:22:26 · 902 阅读 · 1 评论 -
百练_2689:大小写字母互换
描述把一个字符串中所有出现的大写字母都替换成小写字母,同时把小写字母替换成大写字母。输入输入一行:待互换的字符串。输出输出一行:完成互换的字符串(字符串长度小于80)。样例输入If so, you already have a Google Account. You can sign in on the right. 样例输出iF SO, YOU A原创 2017-07-18 10:23:51 · 1731 阅读 · 1 评论 -
百练_2690:首字母大写
描述对一个字符串中的所有单词,如果单词的首字母不是大写字母,则把单词的首字母变成大写字母。在字符串中,单词之间通过空白符分隔,空白符包括:空格(' ')、制表符('\t')、回车符('\r')、换行符('\n')。输入输入一行:待处理的字符串(长度小于80)。输出输出一行:转换后的字符串。样例输入if so, you already have a google acco原创 2017-07-18 10:24:47 · 585 阅读 · 0 评论 -
百练_2694逆波兰表达式
描述逆波兰表达式是一种把运算符前置的算术表达式,例如普通的表达式2 + 3的逆波兰表示法为+ 2 3。逆波兰表达式的优点是运算符之间不必有优先级关系,也不必用括号改变运算次序,例如(2 + 3) * 4的逆波兰表示法为* + 2 3 4。本题求解逆波兰表达式的值,其中运算符包括+ - * /四个。输入输入为一行,其中运算符和运算数之间都用空格分隔,运算数是浮点数。输出输出为一行原创 2017-07-13 12:08:30 · 355 阅读 · 0 评论 -
百练_2760数字三角形(递归)(动态规划)
总时间限制: 1000ms 内存限制: 65536kB 描述73 88 1 02 7 4 44 5 2 6 5(图1)图1给出了一个数字三角形。从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,你的任务就是找到最大的和。注意:路径上的每一步只能从一个数走到下一层上和它最近的左原创 2017-06-07 01:18:32 · 1771 阅读 · 0 评论 -
百练_2388:寻找中位数
描述在N(1输入第1行:N第2至N+1行:每行是一个整数输出第一行:中位数样例输入524135样例输出3#includevoid sort(int x[],int n){//冒泡排序 int i,l,t; for(i=0;i<n-1;i++) for(l=0;l<n-i-1;l++原创 2017-07-17 19:36:55 · 470 阅读 · 0 评论 -
百练_2390:银行利息
描述农夫约翰在去年赚了一大笔钱!他想要把这些钱用于投资,并对自己能得到多少收益感到好奇。已知投资的复合年利率为R(0到20之间的整数)。约翰现有总值为M的钱(100到1,000,000之间的整数)。他清楚地知道自己要投资Y年(范围0到400)。请帮助他计算最终他会有多少钱,并输出它的整数部分。数据保证输出结果在32位有符号整数范围内。输入一行包含三个整数R,M,Y,相邻两个原创 2017-07-17 19:38:41 · 2938 阅读 · 0 评论 -
百练_2675:计算书费
描述下面是一个图书的单价表:计算概论 28.9 元/本数据结构与算法 32.7 元/本数字逻辑 45.6元/本C++程序设计教程 78 元/本人工智能 35 元/本计算机体系结构 86.2 元/本编译原理 27.8元/本操作系统 43 元/本计算机网络 56 元/本JAVA程序设计 65 元/本给定每种图书购买的数量,编程计算应付的总费用。输原创 2017-07-17 19:40:18 · 1830 阅读 · 0 评论 -
百练_2676:整数的个数
描述给定k(1输入输入有两行:第一行包含一个正整数k,第二行包含k个正整数,每两个正整数用一个空格分开。输出输出有三行,第一行为1出现的次数,,第二行为5出现的次数,第三行为10出现的次数。样例输入51 5 8 10 5 样例输出121#includeint main(){ int a1,a2,a3; i原创 2017-07-17 19:41:44 · 1002 阅读 · 0 评论 -
百练_2677:肿瘤检测
描述一张CT扫描的灰度图像可以用一个N*N(0 输入输入第一行包含一个正整数N(0 输出输出只有一行,该行包含两个正整数,分别为给定图像中肿瘤的面积和周长,用一个空格分开。样例输入699 99 99 99 99 9999 99 99 50 99 9999 99 49 49 50 5199 50 20 25 52 9940 50 99 99 99 99原创 2017-07-17 19:46:32 · 576 阅读 · 0 评论 -
百练_2679:整数的立方和
描述给定一个正整数k(1输入输入只有一行,该行包含一个正整数k。输出输出只有一行,该行包含1到k的立方和。样例输入5 样例输出225#includeint main(){ int i,sum,a; while(scanf("%d",&a)!=EOF) { sum=0; for(i=0;i<=a;i++) { sum原创 2017-07-17 19:49:31 · 669 阅读 · 0 评论 -
百练_1004:财务管理
描述Larry今年毕业并找到了一份工作。他赚很多钱,但似乎总是不够。Larry认为他需要控制他的投资以解决自己的财务问题。Larry拿到了自己的银行账户详单,想看看自己有多少钱。请帮助Larry写一个程序,通过过去12个月中每月的月末结余,计算平均结余。输入输入包含12行,每行包含一个数,为某个月的结余。每个数都是不大于1,000,000的正数,保留两位小数,省略"$"符。原创 2017-07-17 19:26:31 · 1668 阅读 · 0 评论 -
百练_1298:The Hardest Problem Ever
描述Julius Caesar lived in a time of danger and intrigue. The hardest situation Caesar ever faced was keeping himself alive. In order for him to survive, he decided to create one of the first ciphers.原创 2017-07-17 19:30:29 · 248 阅读 · 0 评论 -
百练_2000:金币
描述国王将金币作为工资,发放给忠诚的骑士。第一天,骑士收到一枚金币;之后两天(第二天和第三天)里,每天收到两枚金币;之后三天(第四、五、六天)里,每天收到三枚金币;之后四天(第七、八、九、十天)里,每天收到四枚金币……这种工资发放模式会一直这样延续下去:当连续N天每天收到N枚金币后,骑士会在之后的连续N+1天里,每天收到N+1枚金币(N为任意正整数)。你需要编写一个程序,确定从第一原创 2017-07-17 19:34:37 · 304 阅读 · 0 评论