主题:[原创]第十个
一、拼正方形
问题描述:现有若干根长度均为1厘米木棍,用4根可以拼成一个边长1厘米的正方形(称为单位正方形),而用7根和10根木棍则可以分别拼出两个和三个单位正方形,如下图所示:
请你编程算算用这样的方法拼出N个单位正方形需要多少根木棍?
输入:由键盘读入N的值,其中N不超过2004。
输出:将你计算的结果,即拼出N个单位正方形所用的木棍数目输出到屏幕上。
例如:输入N=2,你的程序应输出7。
二、约数个数
对于两个正整数A和B,若A除以B的余数为0,则称B是A的约数。例如10的约数有:1、2、5、10。你的任务是对于给定的一个正整数A,求出A所有约数的个数。
输入:正整数A由键盘输入,其中A不超过20000。
输出:结果输出到屏幕上,即你所求出的正整数A的所有约数的个数。
例如:输入A=10,你的程序应输出4。
三、统计线段
问题描述:小明平时就喜欢在纸上涂画,一天他发现一个有趣的问题:如果在一个圆上任意画上若干个不互相重合点,每两个点之间都可以连一条线段,那么这些点就可以连出很多条线段。如图:在圆上取四个点,就可以连出六条线段。
你现在任务是从键盘读入圆上的点的个数N,编程求出这N个点一共可以连出多少条线段?
输入:由键盘读入N的值(1≤N≤10000)
输出:在屏幕上输出由这N个点组成的不同线段的总数。
例如:输入N=4,你的程序应输出6。
四、连续整数
问题描述:给出一个自然数N(N为奇数),要求找出这样的N个连续的正整数,使得前(N+1)/2个正整数的平方和等于后(N-1)/2个正整数的平方和。例如:当N=3时,满足条件的3个连续正整数是:3、4、5,因为32+42=52;而当N=5时,满足条件的5个连续正整数为:10、11、12、13、14,且102+112+122=132+142。
你的任务是从键盘读入自然数N,编程求出这N个连续正整数中的第一个正整数。
输入:由键盘读入N的值(1<N<200,且N为奇数)
输出:在屏幕上输出这N个连续正整数中的第一个正整数。
例如:输入N=5,你的程序应输出10。
五、车牌问题
问题描述:柳州市车管所为每一辆入户的汽车都发放一块车牌,车牌的号码由五个字符组成,如A9945、B8888等,这个字符串从左边数起的第一个字符为大写英文字母,如:A、B、C等表示这辆车是属于柳州市区内的汽车还是郊区的汽车,后面的四位由数字组成。假定以字母A、B、C、D、E、F、G、R、S、T开头的表示是市区车牌,而以其他字母开头的表示郊区车牌。请你编程找出所给出的车牌中有多少辆是柳州市区的汽车。
输入:输入文件为E.in,第一行是一个正整数N(1≤N≤104),表示共有N个车牌,接下来的N行,每行是一个车牌号。题目保证给出的车牌不会重复。
输出:输出文件E.out只有一行,即柳州市区车牌的数量。
输入输出样例:
输入样例 输出样例
4B4545G5467S8768P7777 3
六、减法次数
问题描述:给出两个任意的正整数N,K(1≤N≤10000,0≤K≤N),然后进行如下操作:
(1)从N中连续减去1、2、4、8、16、...;
(2)当剩余的数不够减时,则将其加上K,再重复(1)的操作过程;
(3)若剩余的数为0时,则结束操作并输出进行减法的次数;
(4)若存在永远不能减完的情况,则输出信息“ERROR”。
例如:当N=4,K=2时,操作过程如下:
第一步:N=4-1=3
第二步:N=3-2=1
第三步:N=1+2=3(由于N=1时不够减4,所以这时N要加K的值2)
第四步:N=3-1=2
第五步:N=2-2=0
此时N的结果为0,应输出4(表示在以上5步操作中,共使用了4次减法运算)
又如:当N=6,K=3时,操作过程如下:
第一步:N=6-1=5
第二步:N=5-2=3
第三步:N=3+3=6(由于N=3不够减4,所以加K的值3)
第四步:N=6-1=5
…………
在这种情况下,N永远不能等于0,则输出信息“ERROR”
你的任务是编程从文件中读入正整数N,K,若N能减得0,则输出一共使用减法的次数;若N永远减不完,则输出“ERROR”。
输入:输入文件F.in,文件只有一行,分别为正整数N、K的值,中间用一个空格隔开。
输出:输出文件F.out,文件只有一行,输出减法的次数或“ERROR”(引号不用输出)。
输入输出样例:
输入样例 输出样例
4 2 4
七、巧断金链
问题描述:一位聪明的商人走南闯北跑生意,有一天他来到一个小客栈投宿,准备住6天,由于刚支付一笔货物的订金,商人花光了所有的现银,身边只剩下一条他喜爱的金链,共6节,投宿客栈一天的费用恰好值一节金链。店老板有一条古怪的规定:当天的费用必须当天结清,不许拖欠也不许预支。如果商人将6节金链全部割断,每天给店主一节就可以满足这条古怪的规定,但这样6节金链都被损坏了。于是商人想了一个办法,将金链分成长度分别为1、2、3节的3段,既满足了店主的要求,也使金链受损最小。下图是商人聪明的分法:
你的任务是写一个程序,假定商人有一根N节的金链,需投宿N天,计算最少将金链分割成几段,才能满足店主古怪的要求。
输入:输入文件为G.in,只有一行一个正整数N(1≤N≤10000)。
输出:输出文件为G.out,只有一行,输出应该切成的段数。
输入输出样例:
输入样例 输出样例
6 3
八、泡泡龙
问题描述:这是一个简化版的网络游戏:在一个N N方块构成的棋盘中,每个方块均涂上红、黄、蓝、绿(记为1、2、3、4)中的一种颜色,游戏者可以在最底行任意找一个方块,用鼠标双击这个方块,于是该方块及与之相邻(即在上、下、左、右四个方向上有公共边)的所有的同色方块均被消掉,而因下方失去支持的方块将会自由落下填补空位。下图左边给出一个4 4的棋盘样例,当游戏者双击最底层左边第二个方块后,将会形成右边的布局。
你的任务是编写一个泡泡龙模拟程序,对于给定的一个初始棋盘,计算游戏者双击最底层某个方块后棋盘的布局将会如何。
输入:输入文件H.in,第一行有两个正整数N和M(1≤M≤N≤100),其中N表示棋盘的规模,而M则表示游戏者将双击最底层从左边数起的第M个方块。
接下来的N行每行有N个1至4的整数组成,表示一个初始的棋盘,同一行相邻两个数之间用一个空格隔开。
输出:输出文件H.out也有N行,每行用N个数给出游戏结束后棋盘的布局,没有方块的格子用0表示,同一行相邻两个数之间也用一个空格分开。
输入输出样例:
输入样例 输出样例
4 21 2 3 44 2 4 43 4 4 31 4 4 3 1 0 0 04 0 0 33 2 0 34 2 3 3
问题描述:现有若干根长度均为1厘米木棍,用4根可以拼成一个边长1厘米的正方形(称为单位正方形),而用7根和10根木棍则可以分别拼出两个和三个单位正方形,如下图所示:
请你编程算算用这样的方法拼出N个单位正方形需要多少根木棍?
输入:由键盘读入N的值,其中N不超过2004。
输出:将你计算的结果,即拼出N个单位正方形所用的木棍数目输出到屏幕上。
例如:输入N=2,你的程序应输出7。
二、约数个数
对于两个正整数A和B,若A除以B的余数为0,则称B是A的约数。例如10的约数有:1、2、5、10。你的任务是对于给定的一个正整数A,求出A所有约数的个数。
输入:正整数A由键盘输入,其中A不超过20000。
输出:结果输出到屏幕上,即你所求出的正整数A的所有约数的个数。
例如:输入A=10,你的程序应输出4。
三、统计线段
问题描述:小明平时就喜欢在纸上涂画,一天他发现一个有趣的问题:如果在一个圆上任意画上若干个不互相重合点,每两个点之间都可以连一条线段,那么这些点就可以连出很多条线段。如图:在圆上取四个点,就可以连出六条线段。
你现在任务是从键盘读入圆上的点的个数N,编程求出这N个点一共可以连出多少条线段?
输入:由键盘读入N的值(1≤N≤10000)
输出:在屏幕上输出由这N个点组成的不同线段的总数。
例如:输入N=4,你的程序应输出6。
四、连续整数
问题描述:给出一个自然数N(N为奇数),要求找出这样的N个连续的正整数,使得前(N+1)/2个正整数的平方和等于后(N-1)/2个正整数的平方和。例如:当N=3时,满足条件的3个连续正整数是:3、4、5,因为32+42=52;而当N=5时,满足条件的5个连续正整数为:10、11、12、13、14,且102+112+122=132+142。
你的任务是从键盘读入自然数N,编程求出这N个连续正整数中的第一个正整数。
输入:由键盘读入N的值(1<N<200,且N为奇数)
输出:在屏幕上输出这N个连续正整数中的第一个正整数。
例如:输入N=5,你的程序应输出10。
五、车牌问题
问题描述:柳州市车管所为每一辆入户的汽车都发放一块车牌,车牌的号码由五个字符组成,如A9945、B8888等,这个字符串从左边数起的第一个字符为大写英文字母,如:A、B、C等表示这辆车是属于柳州市区内的汽车还是郊区的汽车,后面的四位由数字组成。假定以字母A、B、C、D、E、F、G、R、S、T开头的表示是市区车牌,而以其他字母开头的表示郊区车牌。请你编程找出所给出的车牌中有多少辆是柳州市区的汽车。
输入:输入文件为E.in,第一行是一个正整数N(1≤N≤104),表示共有N个车牌,接下来的N行,每行是一个车牌号。题目保证给出的车牌不会重复。
输出:输出文件E.out只有一行,即柳州市区车牌的数量。
输入输出样例:
输入样例 输出样例
4B4545G5467S8768P7777 3
六、减法次数
问题描述:给出两个任意的正整数N,K(1≤N≤10000,0≤K≤N),然后进行如下操作:
(1)从N中连续减去1、2、4、8、16、...;
(2)当剩余的数不够减时,则将其加上K,再重复(1)的操作过程;
(3)若剩余的数为0时,则结束操作并输出进行减法的次数;
(4)若存在永远不能减完的情况,则输出信息“ERROR”。
例如:当N=4,K=2时,操作过程如下:
第一步:N=4-1=3
第二步:N=3-2=1
第三步:N=1+2=3(由于N=1时不够减4,所以这时N要加K的值2)
第四步:N=3-1=2
第五步:N=2-2=0
此时N的结果为0,应输出4(表示在以上5步操作中,共使用了4次减法运算)
又如:当N=6,K=3时,操作过程如下:
第一步:N=6-1=5
第二步:N=5-2=3
第三步:N=3+3=6(由于N=3不够减4,所以加K的值3)
第四步:N=6-1=5
…………
在这种情况下,N永远不能等于0,则输出信息“ERROR”
你的任务是编程从文件中读入正整数N,K,若N能减得0,则输出一共使用减法的次数;若N永远减不完,则输出“ERROR”。
输入:输入文件F.in,文件只有一行,分别为正整数N、K的值,中间用一个空格隔开。
输出:输出文件F.out,文件只有一行,输出减法的次数或“ERROR”(引号不用输出)。
输入输出样例:
输入样例 输出样例
4 2 4
七、巧断金链
问题描述:一位聪明的商人走南闯北跑生意,有一天他来到一个小客栈投宿,准备住6天,由于刚支付一笔货物的订金,商人花光了所有的现银,身边只剩下一条他喜爱的金链,共6节,投宿客栈一天的费用恰好值一节金链。店老板有一条古怪的规定:当天的费用必须当天结清,不许拖欠也不许预支。如果商人将6节金链全部割断,每天给店主一节就可以满足这条古怪的规定,但这样6节金链都被损坏了。于是商人想了一个办法,将金链分成长度分别为1、2、3节的3段,既满足了店主的要求,也使金链受损最小。下图是商人聪明的分法:
你的任务是写一个程序,假定商人有一根N节的金链,需投宿N天,计算最少将金链分割成几段,才能满足店主古怪的要求。
输入:输入文件为G.in,只有一行一个正整数N(1≤N≤10000)。
输出:输出文件为G.out,只有一行,输出应该切成的段数。
输入输出样例:
输入样例 输出样例
6 3
八、泡泡龙
问题描述:这是一个简化版的网络游戏:在一个N N方块构成的棋盘中,每个方块均涂上红、黄、蓝、绿(记为1、2、3、4)中的一种颜色,游戏者可以在最底行任意找一个方块,用鼠标双击这个方块,于是该方块及与之相邻(即在上、下、左、右四个方向上有公共边)的所有的同色方块均被消掉,而因下方失去支持的方块将会自由落下填补空位。下图左边给出一个4 4的棋盘样例,当游戏者双击最底层左边第二个方块后,将会形成右边的布局。
你的任务是编写一个泡泡龙模拟程序,对于给定的一个初始棋盘,计算游戏者双击最底层某个方块后棋盘的布局将会如何。
输入:输入文件H.in,第一行有两个正整数N和M(1≤M≤N≤100),其中N表示棋盘的规模,而M则表示游戏者将双击最底层从左边数起的第M个方块。
接下来的N行每行有N个1至4的整数组成,表示一个初始的棋盘,同一行相邻两个数之间用一个空格隔开。
输出:输出文件H.out也有N行,每行用N个数给出游戏结束后棋盘的布局,没有方块的格子用0表示,同一行相邻两个数之间也用一个空格分开。
输入输出样例:
输入样例 输出样例
4 21 2 3 44 2 4 43 4 4 31 4 4 3 1 0 0 04 0 0 33 2 0 34 2 3 3