例12   Eratosthenes筛法求质数 问题描述 Eratosthenes筛法的基本思想是:把某范围内的自然数从小到大依次排列好.宣布1不是质数,把它去掉:然后从余下的数中取出最小的数,宣布它为质数,并去掉它的倍数.在第1步之后,得到质数2,筛中只包含奇数:第2步之后,得到质数3,一直做下去,当筛中为空时结束. 用Eratosthenes筛法求给定区间内的所有质数. 输入格式 两个整数a和b,其中1≤a≤b≤10000 输出格式 输出给定范围[a,b]间的所有质数,输出时每个质数占6列,…
1.数字排列 2.奖金分配问题 3.已知条件求解整数 4.输入日期判断第几天 5.输入整数进行排序 6.用*号显示字母C的图案 7.显示特殊图案 8.打印九九口诀 9.输出国际象棋棋盘 10.打印楼梯并按条件打印笑脸 11.经典兔子问题 12.判断素数 13.水仙花数问题 14.正整数分解质因数 15.学习成绩划分 16.正整数求其最大公约数和最小公倍数 17.统计英文字母/空格/数字个数 18.求s=a+aa+aaa+aa...a的值 19.求解"完数" 20.球体自由落下物理问题…
例15   除法算式 问题描述 输入正整数n(2≤n≤68),按从小到大输出所有形如abcde/fghi=n的表达式.其中a~i为1~9的一个排列. 输入格式 每行为一个正整数n (n <= 1500),输入n=0结束. 输出格式 输出满足条件的所有形如abcde/fghi=n的表达式,每个表达式占一行,具体格式参见输出样例. 输入样例 4 20 62 0 输出样例 15768/3942=4 17568/4392=4 23184/5796=4 31824/7956=4 No Solution!…
例11  求质数 问题描述 质数是指除了有1和自身作为约数外,不再有其他约数的数.比如:3.5.7是质数.而9不是质数,因为它还有约数3. 编写程序求给定区间中的所有质数. 输入格式 两个整数a和b,其中1≤a≤b≤100000. 输出格式 输出给定范围的所有质数,输出时每个质数占5列,每行输出10个质数. 输入样例 100  200 输出样例 101  103  107  109  113  127  131  137  139  149 151  157  163  167  173  17…
例9    生理周期 问题描述 人生来就有三个生理周期,分别为体力.感情和智力周期,它们的周期长度为 23 天.28 天和33 天.每一个周期中有一天是高峰.在高峰这天,人会在相应的方面表现出色.例如,智力周期的高峰,人会思维敏捷,精力容易高度集中.因为三个周期的周长不同,所以通常三个周期的高峰不会落在同一天.对于每个人,我们想知道何时三个高峰落在同一天. 对于每个周期,我们会给出从当前年份的第一天开始,到出现高峰的天数(不一定是第一次高峰出现的时间).你的任务是给定一个从当年第一天开始数的天数…
例6    数字反转 题目描述 给定一个整数,请将该数各个位上数字反转得到一个新数.新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2). 输入格式 一个整数 N 输出格式 一个整数,表示反转后的新数. 输入样例 #1 123 输出样例 #1 321 输入样例 #2 -380 输出样例 #2 -83 (1)编程思路. 将一个非负整数number各位上的数字依次分离出来,其操作步骤为: 1)分离出number的个位数,即number%10. 2)…
例14   丑数 问题描述 丑数是其质因子只可能是2,3或5的数.前10个丑数分别为1, 2, 3, 4, 5, 6, 8, 9, 10, 12.输入一个正整数n,求第n个丑数. 输入格式 每行为一个正整数n (n <= 1500),输入n=0结束. 输出格式 每行输出一个整数,表示求得的第n个丑数. 输入样例 1 2 50 0 输出样例 1 2 243 (1)编程思路. 根据丑数的定义,丑数从小到大排列的序列中的一个数应该是其前面某个数乘以2.3或者5的结果.因此,可以定义一个数组num[15…
例17   百灯判亮 问题描述 有序号为1.2.3.….99.100的100盏灯从左至右排成一横行,且每盏灯各由一个拉线开关控制着,最初它们全呈关闭状态.有100个小朋友,第1位走过来把凡是序号为1的倍数的电灯开关拉一下:接着第2位小朋友走过来,把凡是序号为2的倍数的电灯开关拉一下:第3位小朋友走过来,把凡是序号为3的倍数的电灯开关拉一下:如此下去,直到第100个小朋友把序号为100的电灯开关拉一下.问这样做过一遍之后,哪些序号的电灯是亮着的? 输入格式 每行测试数据是一个正整数n,代表第n盏灯…
例25    确定进制 问题描述 6*9 = 42 对于十进制来说是错误的,但是对于13进制来说是正确的.即 6(13)* 9(13)= 42(13),因为,在十三进制中,42 = 4 * 13 + 2 = 54(10). 编写一个程序,输入三个整数p.q和r,然后确定一个进制B(2<=B<=16),使得在该进制下 p * q = r.如果 B有很多选择,输出最小的一个.例如,p = 11,q = 11,r = 121.则有 11(3) * 11(3)= 121(3),还有 11(10)* 1…
例23  数列求和 问题描述 已知某数列前两项为2和3,其后继项根据前面最后两项的乘积,按下列规则生成: ① 若乘积为一位数,则该乘积即为数列的后继项: ② 若乘积为二位数,则该乘积的十位上的数字和个位上的数字依次作为数列的两个后继项. 输出该数列的前N项及它们的和. 输入格式 一个整数N(2≤N≤1000). 输出格式 第1行输出该数列的前N项的和. 第2行输出该数列的前N项. 输入样例 10 输出样例 sum(10)=44 2 3 6 1 8 8 6 4 2 4 (1)编程思路. 编写函数i…