【上机练习】
1、 求N!的值(ni)
【问题描述】 用高精度方法,求N!的精确值(N以一般整数输入)。
【输入样例】
10
【输出样例】
3628800
2、 求A/B高精度值(ab)
【问题描述】
计算A/B的精确值,设A,B是以一般整数输入,计算结果精确到小数后20位(若不足20位,末尾不用补0)。
【输入样例1】
4 3
【输出样例1】
4/3=1.33333333333333333333
【输入样例2】
6 5
【输出样例2】
6/5=1.2
3、 求n累加和(ja)
【问题描述】
用高精度方法,求s=1+2+3+……+n的精确值(n以一般整数输入)。
【输入样例】
10
【输出样例】
55
4、 阶乘和(sum)
【问题描述】
已知正整数 N(N<=100),设 S=1!+2!+3!+…N!。其中"!"表示阶乘,即 N!=123*……(N-1)N,如:3!=123=6。请编程实现:输入正整数N,输出计算结果S的值。
【输入样例】
4
【输出样例】
33
5、 高精度求积(multiply)
【问题描述】
输入两个高精度正整数M和N(M和N均小于100位)。
【问题求解】
求这两个高精度数的积。
【输入样例】
36
3
【输出样例】
108
6、 天使的起誓(yubikili)
【问题描述】
TENSHI非常幸运地被选为掌管智慧之匙的天使。在正式任职之前,她必须和其他新当选的天使一样,要宣誓。宣誓仪式是每位天使各自表述自己的使命,她们的发言稿被放在n个呈圆形排列的宝盒中。这些宝盒按顺时针方向被编上号码 1、2、3……、n-1、n。一开始天使们站在编号为 N 的宝盒旁。她们各自手上都有一个数字,代表她们自己的发言稿所在的盒子是从1号盒子开始按顺时针方向的第几个。例如:有7个盒子,那么如果TENSHI手上的数字为9,那么她的发言稿所在盒子就是第2个。现在天使们开始按照自己手上的数字来找发言稿,先找到的就可以先发言。TENSHI一下子就找到了,于是她最先上台宣誓:“我将带领大家开启NOI之门……”TENSHI宣誓结束以后,陆续有天使上台宣誓。可是有一位天使找了好久都找不到她的发言稿,原来她手上的数字M非常大,她转了好久都找不到她想找的宝盒。
【问题求解】
请帮助这位天使找到她想找的宝盒的编号。
【输入格式】
从文件yubikili.in的第一、二行分别读入正整数n和m,其中n、m满足
2 ≤ n≤ 108,2 ≤ m≤ 101000
【输出格式】
把所求宝盒的编号输出到文件yubikili.out,文件只有一行(包括换行符)。
【样例一】
yubikili.in yubikili.out
7
9 2
【样例二】
yubikili.in yubikili.out
11
108 9
7、Hanoi双塔问题(Noip2007)
【问题描述】
给定A、B、C三根足够长的细柱,在A柱上放有2n个中间有孔的圆盘,共有n个不同的尺寸,每个尺寸都有两个相同的圆盘,注意这两个圆盘是不加区分的(下图为n=3的情形)。现要将这些圆盘移到C柱上,在移动过程中可放在B柱上暂存。要求:
(1)每次只能移动一个圆盘;
(2)A、B、C三根细柱上的圆盘都要保持上小下大的顺序;
任务:设An为2n个圆盘完成上述任务所需的最少移动次数,对于输入的n,输出An。
【输入格式】
输入文件hanoi.in为一个正整数n,表示在A柱上放有2n个圆盘。
【输出格式】
输出文件hanoi.out仅一行,包含一个正整数, 为完成上述任务所需的最少移动次数An。
【输入输出样例1】
hanoi.in hanoi.out
1 2
【输入输出样例2】
hanoi.in hanoi.out
2 6
【限制】
对于50%的数据,1<=n<=25 对于100%的数据,1<=n<=200
【提示】设法建立An与An-1的递推关系式。