
C++语言基础——循环结构
Alex_McAvoy
想要成为渔夫的猎手
展开
-
金币(信息学奥赛一本通-T1100)
【题目描述】国王将金币作为工资,发放给忠诚的骑士。第1天,骑士收到一枚金币;之后两天(第2天和第3天)里,每天收到两枚金币;之后三天(第4、5、6天)里,每天收到三枚金币;之后四天(第7、8、9、10天)里,每天收到四枚金币……这种工资发放模式会一直这样延续下去:当连续 n 天每天收到 n 枚金币后,骑士会在之后的连续n+1天里,每天收到n+1枚金币(n为任意正整数)。你需要编写一个程序...原创 2018-02-16 06:18:49 · 14027 阅读 · 3 评论 -
级数求和(信息学奥赛一本通-T1087)
【题目描述】已知:Sn=1+1/2+1/3+…+1/n。显然对于任意一个整数k,当n足够大的时候,Sn大于k。现给出一个整数k(1≤k≤15),要求计算出一个最小的n,使得Sn>k。【输入】一个整数k【输出】一个整数n【输入样例】1【输出样例】2【源程序】#include<iostream>using namespace std;i...原创 2018-02-15 00:52:14 · 15813 阅读 · 0 评论 -
角谷猜想(信息学奥赛一本通-T1086)
【题目描述】角谷猜想,是指对于任意一个正整数,如果是奇数,则乘3加1,如果是偶数,则除以2,得到的结果再按照上述规则重复处理,最终总能够得到1。如,假定初始整数为5,计算过程分别为16、8、4、2、1。程序要求输入一个整数,将经过处理得到1的过程输出来。【输入】一个正整数N(N ≤ 2,000,000)。【输出】从输入整数到1的步骤,每一步为一行,每一部中描述计算过程。最后一...原创 2018-02-15 00:33:50 · 21202 阅读 · 7 评论 -
球弹跳高度的计算(信息学奥赛一本通-T1085)
【题目描述】一球从某一高度h落下(单位米),每次落地后反跳回原来高度的一半,再落下。编程计算气球在第10次落地时,共经过多少米? 第10次反弹多高?输出包含两行,第1行:到球第10次落地时,一共经过的米数。第2行:第10次弹跳的高度。【输入】输入一个整数h,表示球的初始高度。【输出】第1行:到球第10次落地时,一共经过的米数。第2行:第10次弹跳的高度。注意:结...原创 2018-02-15 00:33:48 · 19201 阅读 · 1 评论 -
不定方程求解(信息学奥赛一本通-T1101)
【题目描述】给定正整数a,b,c。求不定方程 ax+by=c 关于未知数x和y的所有非负整数解组数。【输入】一行,包含三个正整数a,b,c,两个整数之间用单个空格隔开。每个数均不大于1000。【输出】一个整数,即不定方程的非负整数解组数。【输入样例】2 3 18【输出样例】4【源程序】#include <iostream>using ...原创 2018-02-16 06:24:48 · 14607 阅读 · 0 评论 -
余数相同问题(信息学奥赛一本通-T1080)
【题目描述】已知三个正整数a,b,c。现有一个大于1的整数x,将其作为除数分别除a,b,c,得到的余数相同。请问满足上述条件的x的最小值是多少?数据保证x有解。【输入】一行,三个不大于1000000的正整数a,b,c,两个整数之间用一个空格隔开。【输出】一个整数,即满足条件的x的最小值。【输入样例】300 262 205【输出样例】19【源程序】...原创 2018-02-14 12:32:58 · 14372 阅读 · 8 评论 -
计算分数加减表达式的值(信息学奥赛一本通-T1079)
【题目描述】编写程序,输入n的值,求1/1−1/2+1/3−1/4+1/5−1/6+1/7−1/8+...+(−1)^(n−1)⋅1/n的值。【输入】输入一个正整数n。1 ≤ n ≤ 1000。【输出】输出一个实数,为表达式的值,保留到小数点后四位。【输入样例】2【输出样例】0.5000【源程序】#include<iostream>#...原创 2018-02-14 12:27:41 · 14355 阅读 · 0 评论 -
求分数序列和(信息学奥赛一本通-T1078)
【题目描述】有有一个分数序列q1/p1,q2/p2,q3/p3,q4/p4,q5/p5,.... ,其中q(i+1)=qi+pi,p(i+1)=qi,p1=1,q1=2。比如这个序列前6项分别是21,32,53,85,138,211321,32,53,85,138,2113。求这个分数序列的前n项之和。21,32【输入】输入有一行,包含一个正整数n(n ≤ 30)。【输出】输...原创 2018-02-14 12:20:51 · 12749 阅读 · 1 评论 -
统计满足条件的4位数(信息学奥赛一本通-T1077)
【题目描述】给定若干个四位数,求出其中满足以下条件的数的个数:个位数上的数字减去千位数上的数字,再减去百位数上的数字,再减去十位数上的数字的结果大于零。【输入】输入为两行,第一行为四位数的个数n,第二行为n个的四位数。(n≤100)【输出】输出为一行,包含一个整数,表示满足条件的四位数的个数。【输入样例】51234 1349 6119 2123 5017【输出样...原创 2018-02-14 11:56:43 · 12554 阅读 · 0 评论 -
正常血压(信息学奥赛一本通-T1076)
【题目描述】监护室每小时测量一次病人的血压,若收缩压在90-140之间并且舒张压在60-90之间(包含端点值)则称之为正常,现给出某病人若干次测量的血压值,计算病人保持正常血压的最长小时数。【输入】第一行为一个正整数n(n<100),其后有n行,每行2个正整数,分别为一次测量的收缩压和舒张压。【输出】输出仅一行,血压连续正常的最长小时数。【输入样例】4100 ...原创 2018-02-13 23:26:44 · 14000 阅读 · 2 评论 -
药房管理(信息学奥赛一本通-T1075)
【题目描述】随着信息技术的蓬勃发展,医疗信息化已经成为医院建设中必不可少的一部分。计算机可以很好地辅助医院管理医生信息、病人信息、药品信息等海量数据,使工作人员能够从这些机械的工作中解放出来,将更多精力投入真正的医疗过程中,从而极大地提高了医院整体的工作效率。对药品的管理是其中的一项重要内容。现在药房的管理员希望使用计算机来帮助他管理。假设对于任意一种药品,每天开始工作时的库存总量已知,...原创 2018-02-13 23:26:01 · 16076 阅读 · 0 评论 -
分离整数的各个数(信息学奥赛一本通-T1088)
【题目描述】给定一个整数n(1≤n≤100000000),要求从个位开始分离出它的每一位数字。从个位开始按照从低位到高位的顺序依次输出每一位数字【输入】输入一个整数,整数在1到100000000之间【输出】从个位开始按照从低位到高位的顺序依次输出每一位数字。数字之间以一个空格分开【输入样例】123【输出样例】3 2 1【源程序】#include&l...原创 2018-02-15 17:50:12 · 15386 阅读 · 0 评论 -
数字反转(信息学奥赛一本通-T1089)
【题目描述】给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零,例如输入-380,反转后得到的新数为-83。【输入】输入共 1 行,一个整数N。-1,000,000,000 ≤ N≤ 1,000,000,000。【输出】输出共 1 行,一个整数,表示反转后的新数。【输入样例】1...原创 2018-02-15 17:51:16 · 23323 阅读 · 1 评论 -
第n小的质数(信息学奥赛一本通-T1099)
【题目描述】输入一个正整数n,求第n小的质数。【输入】一个不超过10000的正整数n。【输出】第n小的质数。【输入样例】10【输出样例】29【源程序】#include<iostream>#include<cmath>using namespace std;int main(){ int n; int...原创 2018-02-16 06:33:38 · 25930 阅读 · 2 评论 -
质因数分解(信息学奥赛一本通-T1098)
【题目描述】已知正整数n是两个不同的质数的乘积,试求出较大的那个质数。【输入】输入只有一行,包含一个正整数 n。对于60%的数据,6≤n≤1000。对于100%的数据,6≤n≤2×10^9。【输出】输出只有一行,包含一个正整数 p,即较大的那个质数。【输入样例】21【输出样例】7【源程序】#include<iostream>#...原创 2018-02-16 05:30:23 · 16471 阅读 · 9 评论 -
画矩形(信息学奥赛一本通-T1097)
【题目描述】根据参数,画出矩形。输入四个参数:前两个参数为整数,依次代表矩形的高和宽(高不少于3行不多于10行,宽不少于5列不多于10列);第三个参数是一个字符,表示用来画图的矩形符号;第四个参数为1或0,0代表空心,1代表实心。【输入】输入一行,包括四个参数:前两个参数为整数,依次代表矩形的高和宽(高不少于3行不多于10行,宽不少于5列不多于10列);第三个参数是一个字符,表示用来...原创 2018-02-16 05:21:17 · 21776 阅读 · 2 评论 -
数字统计(信息学奥赛一本通-T1096)
【题目描述】请统计某个给定范围[L, R]的所有整数中,数字2出现的次数。比如给定范围[2, 22],数字2在数2中出现了1次,在数12中出现1次,在数20中出现1次,在数21中出现1次,在数22中出现2次,所以数字2在该范围内一共出现了6次。【输入】输入共 1 行,为两个正整数 L 和 R,之间用一个空格隔开【输出】输出共 1 行,表示数字 2 出现的次数。【...原创 2018-02-16 05:14:15 · 15647 阅读 · 0 评论 -
数1的个数(信息学奥赛一本通-T1095)
【题目描述】给定一个十进制正整数n(1≤n≤10000),写下从1到n的所有整数,然后数一下其中出现的数字“1”的个数。例如当n=2时,写下1,2。这样只出现了1个“1”;当n=12时,写下1,2,3,4,5,6,7,8,9,10,11,12。这样出现了5个“1”。【输入】正整数n。1 ≤ n ≤ 10000。【输出】一个正整数,即“1”的个数。【输入样例】12...原创 2018-02-16 05:02:22 · 24070 阅读 · 4 评论 -
与7无关的数(信息学奥赛一本通-T1094)
【题目描述】一个正整数,如果它能被7整除,或者它的十进制表示法中某一位上的数字为7,则称其为与7相关的数。现求所有小于等于n(n<100)与7无关的正整数的平方和。【输入】输入为一行,正整数n(n < 100)。【输出】输出一行,包含一个整数,即小于等于n的所有与7无关的正整数的平方和。【输入样例】21【输出样例】2336【源程序】#i...原创 2018-02-15 18:39:05 · 17570 阅读 · 4 评论 -
计算多项式的值(信息学奥赛一本通-T1093)
【题目描述】假定多项式的形式为Xn+Xn−1+…+X2+X+1,请计算给定单精度浮点数x和正整数n值的情况下这个多项式的值。x在float范围内,n≤1000000。多项式的值精确到小数点后两位,保证最终结果在float范围内。【输入】输入仅一行,包括x和n,用单个空格隔开。x在float范围内,n ≤ 1000000。【输出】输出一个实数,即多项式的值,精确到小数点后两位。...原创 2018-02-15 18:31:50 · 12655 阅读 · 1 评论 -
求出e的值(信息学奥赛一本通-T1092)
【题目描述】利用公式e=1+1/1!+1/2!+1/3!+...+1/n!,求e的值,要求保留小数点后10位。【输入】输入只有一行,该行包含一个整数n(2≤n≤15),表示计算e时累加到1/n!【输出】输出只有一行,该行包含计算出来的e的值,要求打印小数点后10位。【输入样例】10【输出样例】2.7182818011【源程序】#include&l...原创 2018-02-15 18:24:53 · 19107 阅读 · 2 评论 -
求阶乘的和(信息学奥赛一本通-T1091)
【题目描述】给定正整数n,求不大于n的正整数的阶乘的和(即求1!+2!+3!+...+n!),输出阶乘的和。【输入】输入有一行,包含一个正整数n(1 < n < 12)。【输出】输出有一行:阶乘的和。【输入样例】5【输出样例】153【源程序】#include<iostream>using namespace std;in...原创 2018-02-15 18:14:54 · 13315 阅读 · 0 评论 -
含k个3的数(信息学奥赛一本通-T1090)
【题目描述】输入两个正整数m和k,其中1<m<100000,1<k<5 ,判断m 能否被19整除,且恰好含有k个3,如果满足条件,则输出YES,否则,输出NO。 例如,输入:43833 3,满足条件,输出YES。如果输入:39331 3,尽管有3个3,但不能被19整除,也不满足条件,应输出NO。【输入】m 和 k 的值,中间用单个空格间隔。【输出】满足...原创 2018-02-15 17:52:19 · 17984 阅读 · 4 评论 -
津津的储蓄计划(信息学奥赛一本通-T1074)
【题目描述】津津的零花钱一直都是自己管理。每个月的月初妈妈给津津300元钱,津津会预算这个月的花销,并且总能做到实际花销和预算的相同。为了让津津学习如何储蓄,妈妈提出,津津可以随时把整百的钱存在她那里,到了年末她会加上20%还给津津。因此津津制定了一个储蓄计划:每个月的月初,在得到妈妈给的零花钱后,如果她预计到这个月的月末手中还会有多于100元或恰好100元,她就会把整百的钱存在妈妈那里...原创 2018-02-13 22:53:06 · 15737 阅读 · 8 评论 -
救援(信息学奥赛一本通-T1073)
【题目描述】救生船从大本营出发,营救若干屋顶上的人回到大本营,屋顶数目以及每个屋顶的坐标和人数都将由输入决定,求出所有人都到达大本营并登陆所用的时间。在直角坐标系的原点是大本营,救生船每次从大本营出发,救了人之后将人送回大本营。坐标系中的点代表屋顶,每个屋顶由其位置坐标和其上的人数表示。救生船每次从大本营出发,以速度50 米/分钟驶向下一个屋顶,达到一个屋顶后,救下其上的所有人,每人上船...原创 2018-02-13 22:48:42 · 45352 阅读 · 0 评论 -
鸡尾酒疗法(信息学奥赛一本通-T1072)
【题目描述】鸡尾酒疗法,指“高效抗逆转录病毒治疗”。人们在鸡尾酒疗法的基础上又提出了很多种改进的疗法。为了验证这些治疗方法是否在疗效上比鸡尾酒疗法更好,可用通过临床对照实验的方式进行。假设鸡尾酒疗法的有效率为x,新疗法的有效率为y,如果y-x大于5%,则效果更好,如果x-y大于5%,则效果更差,否则称为效果差不多。下面给出n组临床对照实验,其中第一组采用鸡尾酒疗法,其他n-1组为各种不同的改...原创 2018-02-13 22:36:45 · 28920 阅读 · 3 评论 -
奇数求和(信息学奥赛一本通-T1065)
【题目描述】计算非负整数m到n(包括m和n)之间的所有奇数的和,其中,m 不大于 n,且n 不大于300。例如 m=3, n=12, 其和则为:3+5+7+9+11=35。【输入】两个数 m 和 n,两个数以一个空格分开,其中 0 ≤ m ≤ n ≤ 300 。【输出】输出一行,包含一个整数,表示m 到 n(包括m 和 n )之间的所有奇数的和【输入样例】7 15...原创 2018-02-12 19:11:12 · 18049 阅读 · 0 评论 -
奥运奖牌计数(信息学奥赛一本通-T1064)
【题目描述】2008年北京奥运会,A国的运动员参与了n天的决赛项目(1≤n≤17)。现在要统计一下A国所获得的金、银、铜牌数目及总奖牌数。输入第1行是A国参与决赛项目的天数n,其后n行,每一行是该国某一天获得的金、银、铜牌数目。输出4个整数,为A国所获得的金、银、铜牌总数及总奖牌数。【输入】输入n+1行,第1行是A国参与决赛项目的天数n,其后n行,每一行是该国某一天获得的金、银、铜牌...原创 2018-02-12 19:05:36 · 21002 阅读 · 1 评论 -
最大跨度值(信息学奥赛一本通-T1063)
【题目描述】给定一个长度为n的非负整数序列,请计算序列的最大跨度值(最大跨度值 = 最大值减去最小值)【输入】一共2行,第一行为序列的个数n(1 ≤ n ≤ 1000),第二行为序列的n个不超过1000的非负整数,整数之间以一个空格分隔。【输出】输出一行,表示序列的最大跨度值。【输入样例】63 0 8 7 5 9【输出样例】9【源程序】#inc...原创 2018-02-12 18:56:22 · 20812 阅读 · 2 评论 -
计算星期几(信息学奥赛一本通-T1083)
【题目描述】假设今天是星期日,那么a^b天之后是星期几?【输入】两个正整数a,b,中间用单个空格隔开。0<a≤100, 0<b≤10000。【输出】一个字符串,代表过a^b天之后是星期几。其中,Monday是星期一,Tuesday是星期二,Wednesday是星期三,Thursday是星期四,Friday是星期五,Saturday是星期六,Sunday是星期日...原创 2018-02-14 12:48:41 · 18245 阅读 · 6 评论 -
幂的末尾(信息学奥赛一本通-T1084)
【题目描述】a^b的末3位数是多少?【输入】两个正整数a,b。1≤a≤100,1≤b≤10000。【输出】从高位到低位输出幂的末三位数字,中间无分隔符。若幂本身不足三位,在前面补零。【输入样例】7 2011【输出样例】743【源程序】#include<iostream>using namespace std;int main(){...原创 2018-02-14 12:53:22 · 16485 阅读 · 3 评论 -
C++语言基础 —— 循环结构
【for 语句】求平均年龄(信息学奥赛一本通-T1059):点击这里 均值(信息学奥赛一本通-T1060):点击这里 求整数的和与均值(信息学奥赛一本通-T1061):点击这里 最高的分数(信息学奥赛一本通-T1062):点击这里 最大跨度值(信息学奥赛一本通-T1063):点击这里 奥运奖牌计数(信息学奥赛一本通-T1064):点击这里 奇数求和(信息学奥赛一本通-T1065):...原创 2019-06-07 16:13:01 · 812 阅读 · 0 评论 -
统计天数(洛谷-P1567)
题目描述炎热的夏日,KC非常的不爽。他宁可忍受北极的寒冷,也不愿忍受厦门的夏天。最近,他开始研究天气的变化。他希望用研究的结果预测未来的天气。经历千辛万苦,他收集了连续N(1<=N<=10^7)天的最高气温数据。现在,他想知道最高气温一直上升的最长连续天数。输入输出格式输入格式:1行:一个整数N。1<=N<=10^72行:N个空格隔开的整数,表...原创 2018-02-04 03:37:25 · 1607 阅读 · 1 评论 -
计数问题(洛谷-P1980)
题目描述试计算在区间 1 到 n 的所有整数中,数字 x(0 ≤ x ≤ 9)共出现了多少次?例如,在 1到 11 中,即在 1、2、3、4、5、6、7、8、9、10、11 中,数字 1 出现了 4 次。输入输出格式输入格式:输入共 1 行,包含 2 个整数 n、x,之间用一个空格隔开。输出格式:输出共 1 行,包含一个整数,表示 x 出现的次数。输入输出样例输入...原创 2018-02-03 14:56:43 · 2342 阅读 · 0 评论 -
级数求和(洛谷-P1035)
题目描述已知:Sn= 1+1/2+1/3+…+1/n。显然对于任意一个整数K,当n足够大的时候,Sn大于K。现给出一个整数K(1<=k<=15),要求计算出一个最小的n;使得Sn>K。输入输出格式输入格式:一个正整数K。输出格式:一个正整数N。输入输出样例输入样例#1:1输出样例#1:2源代码#include<io...原创 2018-02-03 14:40:45 · 1863 阅读 · 0 评论 -
小玉在游泳(洛谷-P1423)
题目描述小玉开心的在游泳,可是她很快难过的发现,自己的力气不够,游泳好累哦。已知小玉第一步能游2米,可是随着越来越累,力气越来越小,她接下来的每一步都只能游出上一步距离的98%。现在小玉想知道,如果要游到距离x米的地方,她需要游多少步呢。请你编程解决这个问题。输入输出格式输入格式:输入一个数字(不一定是整数,小于100m),表示要游的目标距离。输出格式:输出一个整数,表示...原创 2018-02-03 14:45:25 · 4500 阅读 · 0 评论 -
满足条件的数累加(信息学奥赛一本通-T1066)
【题目描述】将正整数m和n之间(包括m和n)能被17整除的数累加,其中0<m<n<1000。【输入】一行,包含两个整数m和n,其间,以一个空格间隔。【输出】输出一行,包行一个整数,表示累加的结果。【输入样例】50 85【输出样例】204【源程序】#include<iostream>using namespace st...原创 2018-02-13 21:32:10 · 15490 阅读 · 1 评论 -
求小数的某一位(信息学奥赛一本通-T1082)
【题目描述】分数a/b化为小数后,小数点后第n位的数字是多少?【输入】三个正整数a,b,n,相邻两个数之间用单个空格隔开。0<a<b< 100,1≤n≤10000。【输出】一个数字【输入样例】1 2 1【输出样例】5【源程序】#include<iostream>using namespace std;int mai...原创 2018-02-14 12:41:53 · 15856 阅读 · 3 评论 -
菲波那契数(信息学奥赛一本通-T1071)
【题目描述】菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。给出一个正整数k,要求菲波那契数列中第k个数是多少。【输入】输入一行,包含一个正整数k。(1 ≤ k ≤ 46)【输出】输出一行,包含一个正整数,表示菲波那契数列中第k个数的大小。【输入样例】19【输出样例】4181【源程序】#include&...原创 2018-02-13 22:23:03 · 23405 阅读 · 4 评论 -
人口增长(信息学奥赛一本通-T1070)
【题目描述】我国现有x亿人口,按照每年0.1%的增长速度,n年后将有多少人?保留小数点后四位。【输入】一行,包含两个整数x和n,分别是人口基数和年数,以单个空格分隔。【输出】输出最后的人口数,以亿为单位,保留到小数点后四位。1≤x≤100,1≤n≤100。【输入样例】13 10【输出样例】13.1306【源程序】#include<iostre...原创 2018-02-13 22:15:21 · 16016 阅读 · 0 评论