高精度习题汇总
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
高精度加法。
输入两个正整数,求它们的和。
高精度减法。
输入两个正整数,求它们的差。
高精度乘法。
输入两个正整数,求它们的积。
高精度除法。
输入两个正整数,求它们的商(做整除)。
高精除以高精,求它们的商和余数
1、求N!的值(ni)
【问题描述】
用高精度方法,求N!的精确值(N以一般整数输入)。
【输入样例】
10
【输出样例】
3628800
2、求A/B高精度值(ab)
【问题描述】
计算A/B的精确值,设A,B是以一般整数输入,计算结果精确小数后20位。
【输入样例】
4 3
【输出样例】
4/3=1.33333333333333333333
【输入样例】
6 5
【输出样例】
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!=1*2*3*……*(N-1)*N,如:3!=1*2*3=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,文件只有一行(包括换行符)。
输入样例一:
7
9
输出样例一:
2
输入样例二:
11
108
输出样例二:
9
7、Hanoi双塔问题(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
输出样例一:
2
输入样例二:
2
输出样例二:
6
【限制】
对于50%的数据,1<=n<=25
对于100%的数据,1<=n<=200
【提示】设法建立An与An-1的递推关系式。
8、回文数(huiwen)
【问题描述】
若一个数(首位不为零)从左向右读与从右向左读都是一样,我们就将其称之为回文数。
例如:给定一个10进制数56,将56加65(即把56从右向左读),得到121是一个回文数。
又如,对于10进制数87,
STEPl:87+78= 165 STEP2:165+561= 726
STEP3:726+627=1353 STEP4:1353+3531=4884
在这里的一步是指进行了一次n进制的加法,上例最少用了4步得到回文数4884。
写一个程序,给定一个n(2<n<=10或n=16)进制数m。
求最少经过几步可以得到
回文数。
如果在30步以内(包含30步)不可能得到回文数,则输出“Impossible”【输入样例】
9 87
【输出样例】
6
【算法分析】
n进制运算
1、当前位规范由%10改为% n
2、进位处理由/10改为/n
3、其他运算规则不变。