pascal语言编程题:1、楼梯有n(n<50)阶台阶,上楼可以一步1个台阶,也可以一步2个

台阶,一共有多少种不同的走法?(提示:1阶台阶有1种走法(1),2阶台阶有2种走法(11、2),3阶台阶有3种走法(111、12、21),4阶台阶有5种走法(1111、1... 台阶,一共有多少种不同的走法?(提示:1阶台阶有1种走法(1),2阶台阶有2种走法(11、2),3阶台阶有3种走法(111、12、21),4阶台阶有5种走法(1111、121、112、211、22),5阶台阶有8种走法(11111、1211、122、1121、1112、2111、221、1121)……仔细观察这些走法方案数之间有什么规律?这个规律很有名气哦。)
输入:3 输出:3 输入:5 输出:8 输入:50 输出:20365011074
2、有一种三位数很独特,它们每位上的数字互不相同且都不大于7,特别是十位数字正好是百位数字与个位数字之差,求所有这样的三位数。(提示:三重for循环穷举三位数,另外当符合要求的三位数数量达到5的倍数时转行。)

输出:(每行达到5个数字就转行)
312321 413 431 514
523532 541 615 624
642651 716 725 734
743752 761
3、已知四位数3025有一个特殊性质:它的前两位数字30和后两位数字25的和是55,而55的平方刚好等于该数3025。找出所有具有这种性质的四位数。(提示:多重for循环穷举,可以通过div 100分离出前两位数字,mod 100分离后两位数。)
输出:2025 3025 9801
4、把1、2、3、4、5、6六个数字填入下列各括号中,不能重复和遗漏,使各边数字之和相等。编程求出a、b、c、d、e、f等于多少?
(a)
(b) (f)
(c) (d) (e)
(提示:用六重for循环穷举,可参照P152编程第5题,本题是求排列的结果。)
输出:
1: 1 45 2 3 6
2: 1 53 4 2 6
3: 1 62 4 3 5
4: 1 63 2 5 4
5: 2 36 1 4 5
6: 2 43 5 1 6
7: 2 54 1 6 3
8: 2 61 5 3 4
9: 3 25 4 1 6
10: 3 42 6 1 5
11: 3 51 6 2 4
12: 3 61 4 5 2
13: 4 16 3 2 5
14: 4 26 1 5 3
15: 4 35 1 6 2
16: 4 52 3 6 1
17: 5 16 2 4 3
18: 5 23 6 1 4
19: 5 34 2 6 1
20: 5 41 6 3 2
21: 6 14 5 2 3
22: 6 15 3 4 2
23: 6 24 3 5 1
24: 6 32 5 4 1
5、统计成绩。信息学社团的20个学生参加期末测试,他们的成绩分别是:88、76、100、57、39、67、98、100、45、97、26、8、60、85、79、86、91、83、93、62。统计得100分的有几个同学?90-99分,80-89分……10-19分,0-9分各有多少学生?
输入:8876 100 57 39 67 98 100 45 97 26 8 60 85 79 86 91 83 93 62
输出:
0-9:1
10-19:0
20-29:1
30-39:1
40-49:1
50-59:1
60-69:3
70-79:2
80-89:4
90-99:4
100:2
(提示:本题如果用11个if语句统计成绩,那样太冗长繁琐。本题先用x:=x div 10得出每个成绩的十位上数字,然后用a[x]:=a[x]+1巧妙的进行计数,程序代码简洁有效率。例如x[8]:=4,表示80多分的出现了4次。)
6、请统计某个给定范围的所有整数中,数字2出现的次数。比如给定范围[2,22],数字2在数2中出现1次,在数12中出现1次,在数20中出现1次,在数21中出现1次,在数22中出现2次,所以数字2在该范围内一共出现了6次。
输入:2 22 输出:6 输入:2 100 输出:20 输入:3 280 输出:138
(提示:可以采用for循环搜索给定范围的数字,在该for循环里嵌套一个用while或repeat循环实现的多位数分离,关于多位数分离可以参考群论坛第十一作业复习提纲中玫瑰花数的拓展方法。以前讲的多重循环都是for 循环嵌套for循环,而这题则是for 循环嵌套while或repeat循环,要掌握这种嵌套的要领。)
展开
 我来答
huangshunning
2014-08-27 · 超过14用户采纳过TA的回答
知道答主
回答量:147
采纳率:0%
帮助的人:43.4万
展开全部
1.var n:integer;
  function f(x:integer):integer;
  begin
  if x=1 then f:=1 else
  if x=2 then f:=2 else f:=f(x-1)+f(x-2);
  end;
  begin
  write('n=');read(n);
  writeln('f(',n,')=',f(n))
  end.
追问
换一种方法行吗?能否把其他几题都写出来?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式