加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

初级编程入门题2

(2012-03-06 17:17:44)
标签:

键盘输入

正整数

水仙花数

素数

教育

分类: pascal初级编程入门题

139、求21000中的完数,(因子和等于它本身的数为完数。例如28的因子是1,2,4,7,14,且1+2+4+7+14=28,则28是完数)。

 

140、找21000中的亲密数对(如果A 的因子和等于BB的因子和等于A,且A不等于B,则称A,B为亲密数对)。

 

141、从键盘输入三个数,输出其中的最大数。

 

142、从键盘输入20个数,求出其中的最小数。

 

143、用循环语句从小到大依次输出26个大写字母,再返向输出。

 

144、输入两个运算量及一运算符,输出运算结果。这相当于计算器计算。

 

 

145、非波拉契数列如下:0,1,1,2,3,5,8,13,21从第三项开始,每一项等于前两项的和。编程求前20项。

 

146、有一个三位数,三个数字和为20,第三个数 3倍与第二个数的2倍及第一个数三者之和为44,第一个数与第二个数和的2倍减去第三个烽的4倍为-14,求这个三位数。

 

147、父子二人,已知儿子年龄不大于40岁,父亲年龄不大于100岁,10年前父亲的年龄是儿子年龄的4倍,10年后父亲的年龄是儿子年龄的整数倍。问父子现年多少岁。

148、前N个自然数排成一串: X1,X2,X3.....Xn先取出x1,x2,x3移到数串尾,再取出x4,x5,x6移到数串尾,....... 类推直至取完.取出的序列恰好是:1,2,3......n要求输入N,求原来的数串的排列方式.

149、有M个猴子围成一圈,每个有一个编号,编号从1M。打算从中选出一个大王。经过协商,决定选大王的规则如下:从第一个开始,每隔N个,数到的猴子出圈,最后剩下来的就是大王。要求:从键盘输入MN,编程计算哪一个编号的猴子成为大王。

150、围绕着山顶有10个洞,狐狸要吃兔子,兔子说:“可以,但必须找到我,  我就藏身于这十个洞中,你从10号洞出发,先到1号洞找,第二次隔1个洞找,第三次隔2个洞找,以后如此类推,次数不限。但狐狸从早到晚进进出出了1000次,仍没有找到兔子。问兔子究竟藏在哪个洞里?

151、输入一个二进制小数,无需判错,请转换成十进制输出。并保留四位小数位。

输入样例:0.11

输出样例:0.7500

 

152、纯粹素数是这样定义的:一个素数,去掉最高位,剩下的数仍为素数,再去掉剩下的数的最高位,余下的数还是素数。这样下去一直到最后剩下的个位数也还是素数。求出所有小于3000的四位纯粹素数。

 

 

 

153、求n个最小的连续合数。合数是除了1和本身以外还有其它因子的正整数。

输入样例:3

输出样例: 8 9 10

 

154、从键盘输入一个正整数,是偶数输出“yes”,否则输出“no”。

 

155、从键盘输入一个正整数N1<=N<=30000),求1N的和。

 

156、输入一个正整数N1<=N<=200),如果是素数则输出“TRUE”,否则输出“FALSE

 

157、输入两个正整数a,b1<=a<=b<=1000),输出它们的最大公约数和最小公倍数。如:输入4  6,输出2  12

 

158、大家熟知鸡兔同笼问题,输入两个数a,ba为脚的只数,b为头的个数。编程序输出鸡的只数和兔的只数。

 

159、将199 个数字分成三组(每个数字只能使用一次),分别组成3个三位数,且这三位数的值构成1:2:3的比例,试求出所有满足条件的3个三位数。

 

160、编写程序,任意输入一个三位正整数,然后倒序输出。比如输入的是285 ,输出的就该是582

 

 

x

Y

 

(x,y)

 

161、请看图3-2,判断任意一点Ax,y)是否在圆环内。如果在圆环内输出True,否则输出False。使用输入语句获取X,Y的值。提示:首先推导出判别式为 2<=x2+y2<=25

 

162、编写程序输入一个任意的正实型数,输出它的平方及平方根,立方及立方根。

提示:求立方根公式为x1/3e1/3lnx

 

163、某服装店对售货员发放奖金的办法是:日营业额在1000元以下的,只能拿到基本工资,没有奖金;超过1000元的,奖金为超出部分的2%。编写程序输入营业额,计算并输出奖金。

 

164、编写程序计算y的值。

         Sqrt(a+b)sin(a-b)    a>0,b>0

Y     1                a=0,b=0

        a2+b2             其他

 

165、从键盘输入三个整数,输出最大数max和最小数min

 

166、输入年号、月份,输出该月的天数。

135781012月为31天,46911月为30天,2月平年28天,润年29天。润年判别式为:(y mod 4=0and  (y mod 100<>0) or (y mod 400=0)

 

167、模拟一个有加、减、乘除运算的简单计算器。当输入一个实型数,再输入一个运算符,再输入一个实型数后马上输出运算结果。比如:输入3.5*4.0后程序运行结果应该是14.0

 

168、求n!(即1*2*..*n),n由键盘输入。分别用forwhile 两种循环实现。

 

169、求1-1/2+1/3-1/4+1/99-1/100的值。

 

170、求圆周率π≈1-1/3+1/5-1/7++(-1)n-11/(2n-1),求π的近似值,真到某项的绝对值小于10-6为止。

 

177、利用双重循环编写出打印出右边数字方阵的程序。

1 2 3 4 5 6

2 3 4 5 6 7

3 4 5 6 7 8

5 6 7 8 9 10

6 7 8 9 10 11

 

178、求e的近似值:e1+1/1!+1/2!+1/3!++1/n!,当某项小于10-5时停止。

 

179、编写程序,打印出100~200之内的全部素数。

 

180、给出一个正整数,求出它的因子,并按下面的格式打印出来:

15=3*5,20=2*2*5,28=2*2*7

 

181、找出1~1000之间的全部“水仙花数”。“水仙花数”是这样一个整数,它的每一位数字的立方之和正好等于这个三位数,例如153是“水仙花数”,因为13+53+33=153

 

182、找出1~100之间的全部“同构数”。“同构数”是这样一种数:它出现在它的平方数的右端。例如:5的平方是255就是同构数,25也是构数。

 

183、猴子分苹果》趣味程序设计:傍晚,五只猴子在树林里发现一堆苹果,约定第二天早上再来平分,于是各自回去睡觉。半夜一只猴子醒来,把苹果平分了五分,发现多出一个苹果。给谁都不合适,又不能扔掉,只好自己吃了,然后它把其中一堆藏了起来,剩下的四堆又混在一起,高高兴兴地睡觉去了。过了一会,又有一只猴子醒来,它和第一只猴子一样,把苹果平分了五份,发现多出一个苹果,给谁都不合适,又不能扔掉,只好自己吃了,然后它把其中一堆藏了起来,剩下的四堆又混在一起,也去睡觉了。这一夜五只谗嘴的猴子都没睡塌实,五只猴子都以同样的办法把苹果分一次。第二天早上,五只猴子起来看着变少了的苹果各自心照不宣,它们一起把苹果分了五份,正好一个不多一个不少。请编写程序计算出一开始总共有多少苹果。

 

184、编程打印出三角形九九乘法表。

 

185、编写程序打印右图。

                                              1

                                          1   2   1

1   2   3   2   1

1   2   3   4   3   2   1

1   2   3   4   5   4   3   2   1

1   2   3   4   5   6   5   4   3   2   1

 

186、编程打印出右图

 

 

1

2   3

4   5   6

7   8   9  10

11      12  13 14 15

187、按下述格式输出杨辉三角形:

1

                    1   1

1   2   1

1   3   3   1

1   4   6   4   1

 

188、已知某班学生6人,输入他们的语文、数学、英语三门课程考试成绩,求出每个学生的平均成绩,并排名次。

 

189、解数学灯迷,有以下算式:

A  B  C  D

   C  D  C

--------------

     A  B  C

A,B,C,D均为一位非负整数,要求找出A,B,C,D的值,请编程序。

 

190、任意输入两个正整数,求他的最大公约和最小公倍数。

 

191、已知三角形的三条边长为abc,求三角面积。

提示:用海沦公式求三角形面积s=sqrt(p*(p-a)*(p-b)*(p-c))   p=(a+b+c)/2

192、用筛法求110000的素数。

 

193、开灯问题。

    有从1n依次编号的n个人和n盏灯。我号人将所有的灯都关掉;2号人将编号为2的倍数的灯都打开;3号人则将编号为3的倍数的灯作相反处理;以后的人都将凡是自己编号的倍数的灯作相反处理。问第n个人操作后,哪些灯是打开的?

 

19412个小朋友手拉手站成一个圆圈,从某一个小朋友开始报数,报到7的那个小朋友退到圈外,然后他的下一位重新报“1”。这样继续下去,最后只剩下一个小朋友,他原来站在什么位置上呢?

 

1952m3nm>=1n>=1}中由小到大排列的前70项数。

 

196、运动会连续开了n天,一共发了m枚奖章,第一天发1枚并剩下(m-1)枚的1/7,第二天发2枚并剩下的1/7,以后每天按此规律发奖章,在最后一天即第n天发了剩下的n枚奖章。问运动会开了多少天?一共发了几枚奖章?

 

197、设有如图所示的3n2个球互连,将自然数13n2分别为这些球编号,使如图相连的球编号之差的绝对正好是数列12,……,3n+2中各数。

 

          ②─⑥                  ②─⑨─⑤            ②─⑿─⑤─⑨

                                            

      ①─⑧─④─⑤          ①─⑾─④─⑧─⑦    ①─⒁─④─⑾─⑦─⑧

                                             

          ③─⑦  (n=2)           ③─⑩─⑥  (n=3)      ③─⒀─⑥─⑩  (n=4)

 

198、递归法判断所输入的一行字符是否回文。这里所说的回文是指输入的一行字符,

-字符为中心,其两边的字符是左右对称的。例如:

    输入:ABCDE-EDCBA

    输出:It is symmetry.  {输入一行字符是回文}

 

199、三个齿轮啮合。如图在齿轮箱里

三个齿轮互相衔接,某瞬间两对齿相遇,问各转  

    多少圈后,这两对齿同时重逢。如图示。  

 (说明:用abc分别表示三个齿轮的齿数。)

 

200、设有一个数组Aarray [0..N-1] of integer; 存放的元素为0N-1(1<N<=10)之间的整数,且A[i]A[j]ij)。例如当N=6时,有:A=430512)。此时,数组A的编码定义如下:

A[0]编码为0

A[i]编码为:在A[0]A[1],…,A[i-1]中比A[i]的值小的个数

          i=12,…,N-1

∴上面数组A的编码为:B=000312

    要求编程解决以下问题:

(1)给出数组A后,求出其编码;

(2)给出数组A的编码后,求出A中的原数据

程序样例:

例一:

输入:Stat=1   {表示要解决的第(1)问题}

       N=8      {输入8个数}

       A=1 0 3 2 5 6 7 4

输出:B=0 0 2 2 4 5 6 4

例二:

输入:Stat=2   {表示要解决的第(2)问题}

       N=7

       B=0 1 0 0 4 5 6 

输出:A=2 3 1 0 4 5 6

201、求2N2N500)之间的素数。例如:

输入:N=100

输出:  2   3    5   7  11  13

       17  19   23  29  31  37

       41  43   47  53  59  61

       71  73   79  83  89  97

       total=24   {表示2100之间的素数有24}

202、矩阵相乘:已知N×M1矩阵AM1×M矩阵B1MM1N10),求矩阵C=A×B)。例如:

输入:NM1M=4  3  4

      A= 1   2    3             

3         4    5             提示:所谓矩阵相乘(如A×B=C),是指

4         5    6                Cij= (Aik×Bkj)(i=1N,j=1M1,k=1M)

5         1  2                  

           B= 1   6    4    2        例如:

              2   3    4    1             C11=A11×B11+A12×B21+A13×B31

            1   5    7   3              =1×1+2×2+3×( 1

输出:C= 2   27   33   5             =2

             6   55   63   5            C42= A41×B12+A42×B22+A43×B32

             8   69   78   5              =5×6+1)×3+2)×5

         5   17   2    15               =17

 

203、输入N2N100)个数字(在09之间),然后统计出这组数中相邻两数字组成的链环数字对出现的次数。例如:

输入:N=20  {表示要输入数的数目}

      0  1  5  9  8  7  2  2  2  3  2  7  8  7  8  7  9  6  5  9  

输出:(78=287=3 {指(78)、(87)数字对出现次数分别为2次、3次)

     72=127=1

     22=2

     23=132=1

 

204、生成一个按蛇形方式排列自然数12345,……,N2(1<N10)阶方阵。例如:

输入:N=4                         N=7

输出: 1   3    4   10               1    3    4   10   11   21   22

           2   5    9   11               2    5    9   12   20   23   34

           6   8   12   15               6    8   13   19   24   33   35

           7   13  14   16               7   14   18   25   32   36   43

                                        15   17   26   31   37   42   44

                                        16   27   30   38   41   45   48

                                        28   29   39   40   46   47   49

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

三、算法设计题

筛选法

205、不相同的余数问题,即“秦王暗点兵”或“韩信点兵”:

 

206、有一楼房的楼梯级数很奇特,一步跨二级多一级,一步跨三级多二级,如果分用四、五、六、七去除级数分别余三、三、五、五。问这楼房共有多少级阶梯?(已知不超过400级)。

 

207、狼追兔子,兔子躲进了10个环形分布的洞的某一个中。狼在第1个洞中没有找到兔子,就间隔1个洞,到第3个洞中去找,也没找到兔子,就间隔2个洞,到第6个洞中去找。以后狼每次多隔1个洞去找兔子,……。这样狼一直找不到兔子。请问兔子可能躲在哪个洞中?

 

208、8001000的素数表。

答案:809 811 821 823 827 829 839 853 857 859 863 877 881 883 887 907 911 919 929 937 941 947 953 967 971 977 983 991 997

 

209、一位数学家和一些游客共81人不幸落入强盗手中,强盗把俘虏排成一队,宣布每天处理所有第2N次方个俘虏(N>=0),而只放走剩下的最后一个。由于数学家身怀重任,不得不选择了一个恰当的位置而最终被放走。请问他归初排在第几个位置。答案:80

 

210、有一堆礼物,工作人员无论是分成二个一份,还是三个、四个、五个、六个一份,总是多一个。请问这堆礼物至少多少个? 答案:61

 

211、一付扑克中拿出所有的黑桃A……K按顺序排好。第一次翻出第一张牌——A,放在一边,再拿出第二张放到牌的最下面。以后每次都翻出一张牌,再把一张牌放到最后,问第八次翻出的牌是哪一张?  答案:4

 

递归

212、有一个数列N,已知:N1=1NX=NX-1*3-1X>1),求N100);

打印‘A’、‘B’、‘C’、‘D’、‘E’这五个字符任意排列的所有情况。

 

213、从键盘输入一个正整数N,求把它分解成若干个小于等于N的正整数之和的所有情况。

 

214、求N!(阶乘)。

 

215、梵塔问题:有三个塔柱(以ABC表示)。在A上有一个干塔,共N层。今以一个圆盘代表一层,在盘在下,小盘在上。要求将塔从A移动到C。按规定,每次只能移动一个盘子,可以将盘子放在三个塔柱中任一个上,但大盘子不能放在小盘子上面。试编程序打印出移塔过程。

 

216、验证卡布列克常数,对于一个四位数N,进行下列运算:(1)将组成该四位数的4个数字由大到小排列,形成由这4个数字组成的最大的四位数;(2)将组成该四位数的4个数字由小到大排列,形成由这4个数字组成的最小的四位数(如果高位为0则取得的数不足4位);(3)求两个数的差,得到一个新的四位数(高位0保留),称为对N进行了一次卡布列克运算。有这样的规律:对一个各位数字不全相同的四位数重复进行若干次卡布列克运算,最后得到的结果总是6174。这个数被称为卡布列克常数。N从键盘输入。输出每一次的卡布列克运算及得到6174时的运算次数。

 

217、对任意自然数N,将其拆分为若干个自然数之和。

 

218、有一楼梯共有N级,现在从第1级开始,每步可以走1级,也可以走2级、3级,问共有多少种走法并打印所有走法。

 

219、快速排序法:把数组中的N个数进行快速排序。NN个数从键盘输入。

 

220、楼梯有N级台阶,上楼可以一步上一级,也可以一步上两级,请编一递归程序,打印出所有从第1级上到第N级的走法。提示:SN=SN-1+SN-2)。

221、编一递归程序,求组合数 。

已知:

 

222、一个凸N边形,通过N边形内部互不相交的对角线,把N边形拆分成若干个三角形,不同拆分方案的数目用HN)表示。已知递归函数如下:

HN+1=H2*HN+H3*HN-1+……+HN*H2),(为什么?)

H2=1。请编写计算HN)的递归程序。

 

223、阿克曼函数(ACKMANNAXY)中,XY定义域是非负整数,函数值定义为:

AXY=Y+1                      X=0

AX0=AX-11              X>0,y=0

A(X,Y)=A(X-1,A(X,Y-1))              (X,Y>0)

设计一个递归程序,求AXY)。

223、某人写了N封信和N个信封,结果所有的信都装错了信封。求共有多少种情况。提示:

DN=N-1*DN-1+DN-2)),

D1=0D2=1。为什么?

224、编写一个程序,生成12345五个数字的全排列。

225、编写一个程序,生成123456六个数字中任选出四个数字的全排列。

 

回溯法

226、八皇后问题:在一个8X8的国际象棋棋盘上放置8个皇后,使它们不能互相攻击(即任意两个皇后不能在同一行、同一列或同一对角线上)。试求出所有方法。

 

227、分派整数123……8给以下各方框,并保证没有两个相邻的方框(垂直相邻,斜对角相邻或水平相邻)含有连续的整数。写一个程序,找出所有的分派方案。

 

 

 

 

 

 

 

 

 

 

 

 

   

228、在一个NXN的方格网上从某一点(IJ)开始,沿水平、垂直或对角线向前进,最后回到(IJ),形成一个不相交的封闭的折线,设此封闭折线不与方格网的边界相交,求此封闭折线所围成的面积。面积的计算方法是统计折线上以及它所围成的封闭区域中的水平线与垂直线交点的数目。如图中围住了41个点(包括折线本身上的点),因而面积为41

    输入格式:文件读入,格式如下(定义走法:U向上,D向下,L向左,R向右,ULURDLDR依次累推):

    5 2           表示起点为(52

    R 2           表示向右走三点

    DR 2           表示向下右走三点

    D 3           表示向下走四点

    L 1           表示向左走一点

    D 2           表示向下走二点

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

229、有一个由N个数组成的序列,有01两种数,要求在任一个数前1的个数不得超过0的个数,求出所有这样的序列。

以下列方式向5X5矩阵中填入数字。设数字I(1<=I<=25)已被置于座标位置(X,Y),则数字I+1的座标位置应为(EW),(EW)可根据以下关系由(XY)算出:

    1)(EW=X±3Y);

    2)(EW=XY±3);

    3)(EW=X±2Y±2)。

    编写一个程序,当数字1被指定于某个起始位置时,列举出其它24个数字应在的位置;列举出该条件下的所有可能方案,输出所有可能的情况。

 

230、编一程序,从键盘输入数字R,计算机自动检查在下列算式的“()”中能否填上“+”或“-”号凑成相应的等式。如能凑成,则打印出这些算式。如不能则打印“NO ANSWER”。

    1( )2( )3( )4( )5( )6( )7( )8( )9=R

 

231、有NXM张邮票边在一起,但其中某一张被挖掉了。如下图就5X4的邮票的形状和编号,其中第11张被挖掉了,现在要求从这些邮票中撕出4张连在一起的邮票,请打印出所有答案。

1   2   3   4

5   6   7   8

9   10     12

13  14  15  16

17  18  19  20

    输入格式:

5 4        表示54

3 3        表示第3行第3列的邮票被撕掉了,如果输入0 0则表示没有撕掉邮票。

输出格式

1-2-3-4       以下若干行为各种方案

1-5-9-13

5-9-13-17

1-5-6-7

1-6-7-10

……

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有