切换到宽版
  • 9636阅读
  • 3回复

【80+16】全部做完,让你成为编程高手! [复制链接]

上一主题 下一主题
离线魔王索伦
 
只看楼主 正序阅读 0 发表于: 2008-05-18
重播
[url]http://hi.baidu.com/%BF%F1%C5%AD%BB%F0%D1%E6[/url]1.@ 有一个自然数被3,4,5除都余1,被7除余2,此数最小是几? [ 121 ]
2.@ 某老者和他的孙子同生于20世纪,他们年龄相差60岁,若把他们出生年份被3,4,5,6除,余数分别是1,2,3,4. 编程求出老者和他的孙子各自出生的年份.[ 1918, 1978 ]
3. @ 有一个两位数,加6后再把个位数与十位数互换,得到一个新的两位数,这样加6再互换共三次后,又得到了原来的两位数,求原来的两位数. [ 19, 52, 85 ]
4. @ 如果一个自然数的数字之积加上这些数字之和正好等于这个自然数,我们称这样的自然数为"巧数",求100以内的所有巧数. [19,29,39,49,59,69,79,89,99 ]
5. @ 有一个数字各不相同的三位数,如果将此数码重新排列,必可得到一个最大数和一个最小数,此两数之差正好就是原来的三位数,求这个三位数. [ 495 ]
6. @ 把一个两位素数写在另一个两位素数后面,得到一个四位数.它能被这两个素数之和的一半整除,求出所有这样的素数对. [ 53,13; 47,19; 43,23; 37,29 ]
7.@ 从小到大找出五个素数,使后面的数比前面的数都大12. [ 5,17,29,41,53 ]
8. @ 把一个六位平方数截成两个三位数时,这两个三位数之差的绝对值是1(如573^2=328329),问这样的六位平方数共有哪些? [183183,328329,528529,715716 ]
9. @ 编程找出不同的四位平方数对,它们由相同的数字构成. [ 1024,2401; 1089,9801; 1296,2916; 1296,9216; 1369,1936; 1764,4761; 2916,9216; 4096,9604 ]
10.@编程找出所有各数字重新排列成连续数字的三位与四位平方数.
[ 18^2=324; 24^2=576; 66^2=4356; 74^2=5476 ]
11.@求1--200之间,有多少个连续的自然数之和等于555,把这样的数组分别打印出来. [ 共6组: 4-33, 30-44, 51-60, 90-95, 109-113, 184-186 ]
12.@某路公共汽车包括起始站和终点站共有15个车站,有一辆车除终点外,每一站上车的乘客中都恰好有一位乘客到以后的每一站下车,为了使每一位乘客都有座位,问这辆公共汽车最少要有多少个座位?这趟车共售出多少张票? [ 56 , 105 ]
13.@求 1!+(1!+3!)+(1!+3!+5!)+......+(1!+3!+5!+7!+9!)的值. [ 373349 ]
14.@ 父子年龄之和50岁,再过5年父亲年龄是儿子的4倍,父亲和儿子现在各多少岁?[ 43 , 7 ]
15.@ A,B,C三人分24个苹果,每人所得个数等于三年前他们的年龄数.如果C把所得苹果的一半平分给A和B,然后B再把现有苹果的一半平分给A和C;最后A再把现有苹果的一半平分给B和C,这时每人的苹果数恰好相等.求现在三人的年龄个是多少岁?[ 16, 10, 7 ]
16.@ 蜘蛛有8条腿,蜻蜓有6条腿和2对翅,蝉有6条腿和1对翅. 三种虫子共18只,共有118条腿和20对翅.问每种虫子各几只? [ 5, 7, 6 ]
17.@ 甲,乙两数的和为168,甲数的八分之一与乙数的四分之三的和为76,求甲,乙两数各是多少? [ 80, 88 ]
18.@ 我国古代数学问题:1兔换2鸡,2兔换3鸭,5兔换7鹅.某人用20只兔换得鸡.鸭.鹅共30只,问其中鸡.鸭.鹅各几只? [ 2,21,7 ; 4,12,14 ; 6,3,21 ]
19.@将下图中8个字母换成1-8这8个不相同的数,使其四个算式成立.[ 8 7 1 5 6 3 2 4 6 5 1 7 8 4 2 3]
A - B = C
C + D = E
G * F = E
A / G = H
20.@ 有一本小册子,中间撕去一页后,剩下的各页码之和为90, 求:(1)这本小册子共有多少页? (2)撕下的那页的两个页码是几? [ 7 ; 7, 8 ]
21.@ 甲,乙两港口距离不超过5000公里,有三只轮船于某天零时同时从甲港开往乙港,设三只船都以匀速24小时不停地航行,若干天后零时第一只船到达乙港,几天后18时,第二只船也到达,再过几天后8时,第三只船也到达,假定三只船每天的航速分别为300公里/天,240公里/天,180公里/天, 问甲乙两港实际的距离多少公里? 三只船各走了多少时间? [ 3300公里 ; 11天, 13天18小时, 18天8小时 ]
22.@若A与B都是素数,求A/B的循环节.
23. @100个7组成的百位自然数,被13除后,问余数是几?商数中各位数字之和是多少?[ 3, 550 ]
24. 将1/A改写成1/A=1/X+1/Y(埃及分数)的所有形式,A,X,Y都是自然数,A的值由键盘输入.
25. @环绕大厅有七盏电灯A,B,C,D,E,F,G,各自装有一个拉线开关,开始时只有A,C,E,G四盏灯亮着,一个小孩从A灯开始顺次拉一下开关,问当他拉了N(N>1000)次开关后,最后都有哪几盏灯是亮着的?
26. @一木板高110厘米,有个小虫由地面向上爬,每分钟爬上50厘米,每爬1分钟就要休息1分钟,在这休息时间内下滑30厘米,当小虫爬到顶部还要休息2分钟,再按原路爬回地面,问共用多少分钟? [ 10 ]
27. @波兰数学家巴那赫总是随身携带两盒火柴,一个口袋放一盒,最初每盒放50根火柴,当他需用火柴时就随意从一个口袋里取一根,当他发现取出的盒子已经空了的时候,另一盒里剩下多少根的可能性最大?
28. @一个椭园形跑道周长为400米,甲,乙两人同时从一个起跑点向相反的方向绕跑道慢跑,已知甲每秒跑5米,乙每秒跑3米,问他们两人在跑道上分别5次相遇时,每次各距起跑点多远?(取距起跑点近的距离)
29.@输入10个正整数,计算它们的和,平方和;
30.@输入20个整数,统计其中正、负和零的个数;
31.在1——500中,找出能同时满足用3除余2,用5除余3,用7除余2的所有整数;
32.输出1——999中能被3整除,且至少有一位数字是5的数;
33.输入20个数,求出它们的最大值、最小值和平均值。
34.甲、乙、丙三人共有384本书,先由甲分给乙、丙,所给书数分别等于乙、丙已有的书数,再由乙分给甲、丙,最后由丙分给甲、乙,分法同前,结果三人图书数相等。编程求甲、乙、丙三人原各有书多少本?
35.某养金鱼爱好者,决定出售他的金鱼。第一次卖出了全部金鱼的一半加2分之一条金鱼;第二次卖出剩金鱼的三分之一加三分之一条金鱼;第三次卖出剩金鱼的四分之一加四分之一条金鱼;第四次卖出剩金鱼的五分之一加五分之一条金鱼,最后还剩11条。问原来有多少条金鱼?(每次卖的金鱼都是整数条)
36.猴子吃桃子问题:猴子第一天摘下若干个桃子,当即吃了一半还不过瘾,又多吃了一个;第二天又将剩下的桃子吃掉一半又多吃了一个;以后每天早上都吃了前一天剩下的一半零一个。到了第十天想再吃时,见只剩下一个桃子,求第一天共摘了多少个桃子?
37.从键盘输入整数L,统计出边长为整数的周长为L的不等边三角形的个数。
38.输入三个整数,以这三个数为边长,判断是否构成三角形; 若构成三角形,进一步判断它们构的是:锐角三角形或直角三角形或钝角三角形。
39.1*2*3*...*1000结果是一个很大的数,求这个数末尾有多少个连续的零。
40.任意输入两个整数,求这两个整数的最大公约数,并求这两个整数的最小公倍数。
41.一个整数的立方可以表示为两个整数的平方差,如1985^3=1971105^2-1969120^2。
编程:输入一个整数N,自动将其写成N3=X2-Y2。
42.纯粹素数是这样定义的:一个素数,去掉最高位,剩下的数仍为素数,再去掉剩下的数的最高位,余下的数还是素数。这样下去一直到最后剩下的个位数也还是素数。求出所有小于3000的四位的纯粹素数。
43.验证回文数的猜测:左右对称的自然数称回文数。如121,4224,13731等,有人猜测:从任意一个两位或两位以上的自然数开始,将该数与它的逆序数(如1992的逆序数是2991)相加,得到一个新数,再用这个新数与它的逆序数相加,不断重复上述操作,经过若干步的逆序相加之后,总可以得到一个回文数,
例如:从1992开始,1992+2991=4983; 4983+3894=8877;8877+7788=16665;16665+56661=73326;73326+62337=135663;135663+366531=502194;502194+491205=993399。经过七步就得到了回文数。
设计一个程序,由计算机在局部范围内验证回文数的猜测,并将寻找回文数的每一个步骤都显示出来。
44.已知一个正整数的个位数为7,将7移到该数的首位,其它数字顺序不变,则得到的新数恰好是原数的7倍,编程找出满足上述要求的最小自然数。
45.任意一个大于9的整数减去它的各位数字之和的差,一定能被9整除。
46.有一个六位数,其个位数字7,现将个位数字移至首位(十万位),而其余各位数字顺序不变,均后退一们,得到一个新的六位数,假如旧数为新数的4倍,求原来的六位数。
47.将1至9这几个数字排成3x3方阵,并使每一横行的三个数字组成一个三位数。如果要使第二行的三位数是第一行的两倍,第三行的三位数是第一的三倍,应怎样排法?编程找出所有排法。
48.一个合数(质数的反数),去掉最低位,剩下的数仍是合数,再去掉剩下的数的最低位,余留下来的数还是合数,这样反复,一直到最后公剩下的一位数仍是合数;我们把这样的数称为纯粹合数。求所有的三位纯粹合数。
49.输入一个大于1的整数,打印出它的素数分解式。如输入75,则打印:"75=3*5*5"。
50.@某自然数n的所有素因数的平方和等于n,(n<100),请找出二个这样的自然数n。
51.若某个自然数的所数有小于自身的素因数之和恰好等于其自身,则该自然数称为一个完全数。
例如:6是一个完全,6=1+2+3。目前至少发现29个完全数。
编程找出三个最小的完全数。
52.一个自然数,若它的素因数至少是两重的(相同的素因数至少个数为二个,如:36=2*2*3*3),则称该数为"漂亮数"。若相邻的两个自然数都是"漂亮数",就称它们为"孪生漂亮数",例如8和9就是一对"孪生漂亮数"。
编程再找出一对"孪生漂亮数"。
53.@每一个素数的倒数都可以化为一个循环小数,例如:1/7可以化为0.(142857),1/13可化为0.(076923)。
编程把1997的倒数化为循环小数,并统计出这个循环小数有多少位。
54 5^9=5^2+5^2+3^2=7^2+32+12,即59可以分别等于两组不同的自然数(每组各3个数)的二次幂之和,请找出10个最小的具有这种特性的数。
55.验证2147483647是一个素数(质数)。
56.如果一个数从左边读和右边读都是同一个数,就称为回文数,例如686就是一个回文数。
编程求1000以内所有的既是回文数同时又是素数的自然数。
57.有这样的一个六位数字labcde,将其乘以3后变成abcdel,编程求这个数。
58.试找出6个小于160而成等差数列的素数。
59.已知数列1、5、12、22、35、。。。。编程求该数列的前50项。
60.求数列1、5、17、53、161、。。。前20项的和。
61.编程实现:键盘输入年月,计算机能打印出该月的月历,如输入2000、1,则输出:
SUN MOD TUE WED THU FRI SAT
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
62. 写出两个1,然后在它们中间插入2,成121;下一步是在上面数中每两个相邻的和数为3的数之间插入3,成为13232;再下一步又在上面数中任意两个相邻的和数为4的数中插入4,成为1432341;由键盘输入N,求出用上面方式构造出来的序列,其最后插入的数是N。假设这个序列不超过1000项,给出N=9时的运算结果。
63. 把所有3的方幂及不相等的3的方幂的和排列成递增序列:1、3、4、9、10、12、13、...(即30,31,30+31,32,30+32,31+32,30+31+32,...)这个序列的第300项是多少?(6840)
-------------------------------------------------------------
64. 求196+295+394+….+961除以3、5、7、11的余数
65.2100是一个很大的数,计算机无法直接计算出来,编程求该式的准确结果(从最高位到最低位第一位都要打印出来)(126750600228229401496703205376)
66.求789789…789(共29组789)除以79的商和余数。
67.6的因子有1、2、3、6,它们的和1+2+3+6与原数6的比值等于2,比6小的数的这个比值都小于2,比6大的数一直到12,才有(1+2+3+4+6+12)/12=2.33,比值超过2。 编程序,给出120以内最大比值的统计表,即从6开始计算此值,得到更大的此值就输出,再得到新的更大比值则再输出,一直到120,输出格 式为:
6 12 。。。
2 2.33 。。。(其中比值精确到小数点后第二位)
68. 两个1,两个2,两个3,这6个数可组成6位数312132。这个数有如下特点:两个1之间隔一位,两个2之间隔两位,两个3之间隔3位。231213也是一个符合条件的6位数。用数字1、2、3、4、5、6、7、8各两个,可以组成类似的16位数,请找出10个这样的16位数。
69. 这是一个3阶幻方,它每行每列及对角线的和都等于常数15,它的产生规则是这样的:6 1 8 先在第一行中间填入1,每填下一个数,然后在该位置的左上方填下它的后继数(若左边超出边界则将该位置定在上一行的最右边,若上方超出边界则将位置定在上一列的最下方);若左上方事先已填下数,则在当前填数的位置的下一格填入后继数,….. 如此下去,直至填完3x3个数为止。编程任输入一个奇数N(3〈=N〈=9〉,输出N阶幻方。
70. 美国中学数学竞赛试题由30道选择题组成,得分公式:S=30+4G-W 其中G为答对的题数,W为答错的题数,未答的题不给分。第二届第10题如下:玛丽告诉约翰,她在美国中学生数学竞赛中所得分数,这个分数超过80分,根据这个分数,约翰就能定出玛丽做对时的题目的数目。如果玛丽的分数低一些,但仍超过80分,约翰就无法确定她做对几题了,玛丽得分是多少?试编程求出答案。
71. 请按下列规则找出集合M中前1000个元素。
(1)1是M中的一个元素;
(2)若x是M中的一个元素,那么2X+1也是M中的一个元素;3X+1也是M中的一个元素。
72. 如果两个素数之和的一半仍然是一个素数,则这三个素数可以组成一个等差素数组,如(3+7)/2=5,则(3,5,7)为一个等差素数组,编程求100以内的所有等差素数组。
73. 日本数学家角谷提出如下猜测:任给一个自然数,把这个数按下步骤进行处理:
1) 是偶数则把它除以2,一直到除成奇数为止。
2) 是奇数(但非1),则把它乘3加1,再返回1)去处理;重复步骤1)2)直到这个数变为1。
任何数都会经过上面的有限步骤变为1。我们把一次"乘3加1"叫做一次角谷运算。编程序,对小于等于100的所有自然数,求出按上述步骤变为1需要做角谷运算的最多次数和运算最多次数的数在运算中数(奇数)的变化过程。
74. 对于所有的数字不完全相同的三位数(不够三位数的前面补零也当成是三位数)。我们定出如下计算规则:用这个三位数的三个数字可组成的最大数减去可组成的最小数,则得到一个新的三位数;对新的三位数还按照上面的规则继续算下去,最后会发现,我们陷入一个死循环里,或者说是跌入了一个数的黑洞里。用具体例子说明。比如从三位数123开始,计算如下321-123=198;981-189=792;972-279=693;963-369=594;954-459=495;954-459=495;…. 从其他的任何三位数开始,最终也都会停止在495,我们把495叫做三位数的黑洞。类似地也存在着一个由一个数组成的四位数的黑洞。请编程序把它找出来。(6174)
75. 11,323,74947,63144136这样的数叫回文数,它们的特点是最高位、最低位的数相同,次高位,次低位相同,….其中11是个更特殊的回文数,它的平方121、立方1331也是回文数。这是最小的一个具有这种性质的回文数。请编程序,找出三次方小于999999999的具有上述性质的所有回文数。
76、模拟同时掷两个股子的现象,并统计各点出现的次数和频率(两个股子出现的点数是互相独立的,2——12之间各点数产生的机会是不均等的)。
77、A数组20个元素的值均为随机产生的一位整数。请编程只用一重循环(不能增设数组)将小于5的数放在A数组的左边(小序号中),将大于或等于5的数放在A数组的右边(大序号中)。
提示:设未检测区左右两端指针Z和Y,某个时候可能如下所示:
Z Y
…1 7 6 3 4 8…
|未检测区|
从左向右检测,需要交换时到右端寻找合适的交换对象。左右指针重合时算法结束。
78、编一程序,按递增顺序产生序列M中最小的100个数。M定义如下:
(1)数1属于M;
(2)如X属于M,那Y=2X+1、Z=3X+1也属于M;
(3)除了条件(1)和(2)外,再无其他数属于M。
提示:难点在于后产生的数不一定都大于前面产生的,而且可能重复。解决的方法之一是设一个足够大的数组,使a(Y)=1、a(Z)=1,要产生多于100个,如150个数,然后用M数组从a数组里从小到大将标记为1的下标变量挑出来。
79、一根由多颗钻石组成的项链,取出其中相邻的最重的两颗钻石。要求输出重量和位置。
80.对于整数N=56789,用N的所有数字组成,且大于N的整数中最小的整数是M=56798,再如N=456321,M=461235;如N=265431,M=312456,找到规律了吗?编程:输入任意整数N,输出M如没有合适的M,则输出0。











二维数组和字符串练习题
1、输出如下数字图形:
1 1 2 3 4 5
2 13 16 17 18 19 6
3 14 12 15 24 25 20 7
4 15 16 10 14 23 22 21 8
5 6 7 8 9 13 12 11 10 9
2、将输入的n × n矩阵各元素按图示要求互换后输出:
1 2 3 1 4 7
4 5 6 => 2 5 8
7 8 9 3 6 9
3、输出形如下图的n×n方阵(n通过键盘输入)。最外圈是第1层,每层所用数字与层数相同。
1 1 1 1 1
1 2 2 2 1
1 2 3 2 1
1 2 2 2 1
1 1 1 1 1
4、求一个具有m行n列矩阵的马鞍点(矩阵中某一元素,是所在行中的最小值,同时又是所在列中的最大值,则称该矩阵有马鞍点,该元素的值称为马鞍点的值)。下列矩阵有一马鞍点a13,其值为3。
5 4 3
2 1 1
3 1 2
5.输入两个字符串 s1 和 s2 ,将它们合并为一个字符串,合并后的字符串按其 ASCII 码值从小到大进行排序并输出。
6.求m^n的精确值,0<m,n<200.
7.输入整数n(-32767<n<32767),求它的五次方根,精确到小数点之后第5位.
8.打印出杨辉三角的前n行.
9.打印一个 N*N 的方阵,N为每边 N=15 打印出下面图形
字符的个数(3<N<20), 要求最 TTTTTTTTTTTTTTT
外一层为"T", 第二层为"J", 从第三层 TJJJJJJJJJJJJJT
起每层依次打印数字 1,2,3,... TJ11111111111JT
(右图以N为15为例) TJ12222222221JT
TJ12333333321JT
TJ12344444321JT
TJ12345554321JT
TJ12345654321JT
TJ12345554321JT
TJ12344444321JT
1 2 3 4 5 TJ12333333321JT
2 3 4 5 1 TJ12222222221JT
3 4 5 1 2 TJ11111111111JT
4 5 1 2 3 TJJJJJJJJJJJJJT
5 1 2 3 4 TTTTTTTTTTTTTTT
10. 在N行N列的数阵中, 数K(1〈=K〈=N)在每行和每列中出现且仅出现一次,这样的数阵叫N阶拉丁方阵。例如上图就是一个五阶拉丁方阵。编一程序,从键盘输入N值后,打印出所有不同的N阶拉丁方阵,并统计个数。
11.矩阵中填数. 当给出 N*N 的矩阵,要求用程序填入下列形式的数:
1 3 4 10 11
2 5 9 12 19
6 8 13 18 20
7 14 17 21 24
15 16 22 23 25
11.读入一行文本,包含若干个单词(以空格间隔,%结尾)。将其中以 A 开头的单词与以 N 结尾的单词,用头尾交换的办法予以置换
12.输入两个正整数X,Y,将X,Y化为N进制数,然后将这两个N进制数作N进制加法运算,再将结果化为十进制数输出。
13.巧排数字。将1、2、...、20这20个数排成一排,使得相邻的两个数之和为一个素数,且首尾两数字之和也为一个素数。编程打印出所有的排法。
14.已知6个城市,用c[i,j]表示从i城市到城市j是否有单向的直达汽车
(1=<i〈=6,1〈=j〈=6), c[i,j]=1 表示城市i到城市j有单向直达汽车; 否则 c[i,j]=0. 试编制程序,对于给出的城市代号i,打印出从该城市出发乘车(包括转车)可以到达的所有城市。
15.编写一个程序,当输入不超过60个字符组成的英文文字时,计算机将这个句子中的字母按英文字典字母顺序重新排列,排列后的单词的长度要与原始句子中的长度相同。例如: 输入:
THE PRICE OFBREAD IS ¥1 25 PER POUND
输出:
ABC DDEEE EFHIINO OP ¥1 25 PPR RRSTU
并且要求只对A到Z的字母重新排列,其它字符保持原来的状态。
16.输入一个以“@”结束的字符串,从左至右翻译。若下一个字符是数字n(0<n≤9),表示后一个字符重复n+1次,不论后一个字符是否为数字;若下一个字符非数字,则表示自己。翻译后,以3个字符为一组输出,组与组之间用空格分开。

例如“A2B5E34FG0ZYWPQ59R@”可翻译成“ABB BEE EEE E44 44F GZY WPQ 999 999 R@”。

【输入文件】输入文件program3.in,为需要输入的字符串(串长≤255)

【输出文件】输出文件program3.out,为翻译后的字符串。

【样例输入】

A2B5E34FG0ZYWPQ59R@

【样例输出】

ABB BEE EEE E44 44F GZY WPQ 999 999 R@
离线plyisme
只看该作者 3 发表于: 2008-10-10
hao
离线angel_zxl
只看该作者 2 发表于: 2008-09-22
谢谢,版主分享,但是题目中是不是有些地方还有有问题的啊?
离线冷月佩儿
只看该作者 1 发表于: 2008-05-20
56
知道了!






------------------分-------------割--------------线------------------------
  SEO 真封神私服 传奇外挂
快速回复
限100 字节
 
上一个 下一个