1.Hanoi双塔问题(hanoi.pas)-noip07-4.docVIP

  • 79
  • 0
  • 约2.09千字
  • 约 4页
  • 2017-05-31 发布于天津
  • 举报
1.Hanoi双塔问题(hanoi.pas)-noip07-4.doc

1.Hanoi双塔问题 hanoi.pas -noip07-4 【问题描述】 给定A、B、C三根足够长的细柱,在A柱上放有2n个中间有孔的圆盘,共有n个不同的尺寸,每个尺寸都有两个相同的圆盘,注意这两个圆盘是不加区分的(下图为n 3的情形)。现要将这些圆盘移到C柱上,在移动过程中可放在B柱上暂存。要求: (1)每次只能移动一个圆盘; (2)A、B、C三根细柱上的圆盘都要保持上小下大的顺序; 任务:设An为2n个圆盘完成上述任务所需的最少移动次数,对于输入的n,输出An。 【输入】输入文件hanoi.in为一个正整数n,表示在A柱上放有2n个圆盘。对于0%的数据,n 25 对于100%的数据,n 200 【提示】 设法建立An与An-1的递推关系式。 2.麦森数(Mason.pas)-noip2003-4 【问题描述】形如2P-1的素数称为麦森数,这时P一定也是个素数。但反过来不一定,即如果P是个素数,2P-1不一定也是素数。到1998年底,人们已找到了37个麦森数。最大的一个是P 座机电话号码,它有909526位。麦森数有许多重要应用,它与完全数密切相关。 任务:从文件中输入P(1000 P 座机电话号码),计算2P-1的位数和最后500位数字(用十进制高精度数表示) 【输入格式】文件中只包含一个整数P(1000 P 座机电话号码) 【输出格式】第一行:十进制高精度数2P-1的位数。 第2-11行:十进制高精度数2P-1的最后500位数字。(每行输出50位,共输出10行,不足500位时高位补0) 不必验证2P-1与P是否为素数。 【输入样例】 1279 【输出样例】 386 00000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000 0000000000000010座机电话号码55 座机电话号码1座机电话号码0座机电话号码 座机电话号码46 座机电话号码0座机电话号码1座机电话号码 座机电话号码0座机电话号码1座机电话号码 座机电话号码60 座机电话号码87 座机电话号码00座机电话号码0座机电话号码 3.循环 circle.pas 【问题描述】 乐乐是一个聪明而又勤奋好学的孩子。他总喜欢探求事物的规律。一天,他突然对数的正整数次幂产生了兴趣。 众所周知,2的正整数次幂最后一位数总是不断的在重复2,4,8,6,2,4,8,6……我们说2的正整数次幂最后一位的循环长度是4(实际上4的倍数都可以说是循环长度,但我们只考虑最小的循环长度)。类似的,其余的数字的正整数次幂最后一位数也有类似的循环现象: ? 循环 循环长度 2 2、4、8、6 4 3 3、9、7、1 4 4 4、6 2 5 5 1 6 6 1 7 7、9、3、1 4 8 8、4、2、6 4 9 9、1 2 这时乐乐的问题就出来了:是不是只有最后一位才有这样的循环呢?对于一个整数n的正整数次幂来说,它的后k位是否会发生循环?如果循环的话,循环长度是多少呢? 注意: 1.如果n的某个正整数次幂的位数不足k,那么不足的高位看做是0。 2.如果循环长度是L,那么说明对于任意的正整数a,n的a次幂和a + L次幂的最后k位都相同。 【输入文件】?输入文件circle.in只有一行,包含两个整数n(1 n 10100)和k(1 k 100),n和k之间用一个空格隔开,表示要求n的正整数次幂的最后k位的循环长度。 【输出文件】输出文件circle.out包括一行,这一行只包含一个整数,表示循环长度。如果循环不存在,输出-1。 【样例输入】 32 2 【样例输出】 4 【数据规模】 对于30%的数据,k 4; 对于全部的数据,k 100。 5.阶乘和 plus.pas 问题描述:用高精度计算出S 1!+2!+3!+...n! n 100 其中!表示阶乘,例如:5! 5*4*3*2*1,要求:输入正整数N,输出计算结果S. 输入plus.in 3 输出plus.out 9 回文数 huiwen.pas 若一个数(首位不为零)从左向右读与从右向左读都是一样,我们称之为回文数。例如:给定一个十进制56,将56加65(即把56从右向左读),得到的121 是一个回文数。又如,对于十进制数87: step1: 87+78 165 step2: 165+561 726 step3:726+627 1353 step4: 1353+3531 4884 在这里的一步是指进行了一次N进制的加法,上例最少用了4步得到回文数4884。 写一个程序,给定一个N(2〈 N〈 10,N 16〉进制数

文档评论(0)

1亿VIP精品文档

相关文档