摘要: 1128: 高精度高精度除法 题目描述 计算n/m的值,设n,m为整数,n的长度小于等于1000,m的长度小于等于15位,要求精确到小数点后500位。如果整数位为零,则省略小数点前的零 输入 两行,每行一个整数 输出 一行,保留500位小数的实数。 样例输入 355 113 样例输出 3.14159 阅读全文
posted @ 2018-03-09 20:24 mrclr 阅读(1238) 评论(0) 推荐(0) 编辑
摘要: 高精度阶乘其实就是进行了 n 次高精乘以低精,只要高精乘以低精会写,高精度阶乘就没问题。 那么先说一说高精乘以低精吧。 高精乘以低精就是把高精度数的每一位乘以低精度数,然后该位的数就是每一次乘积 mod 10 的余数,而 / 10 得到的数作为进位用的数。(这是在数组中每一个元素只存一位的前提下) 阅读全文
posted @ 2018-03-07 22:24 mrclr 阅读(1383) 评论(4) 推荐(0) 编辑
摘要: 高精度乘法就是把 a 的每一位和 b 相乘。 关键的一件事就是别把积 c 数组 的每一位弄错了,比如用 a 的第 i 位 a[i] 乘以 b[j] ,那么对应的 c 的位数就是 c[i + j] (i,j都是从0开始),列一个竖式就能很直观地看出来了。 还有一件事就是 c 数组的位数问题,一个 n 阅读全文
posted @ 2018-03-07 20:14 mrclr 阅读(1213) 评论(0) 推荐(0) 编辑
摘要: 高精度减法主要考虑这两件事:1.差为负数的情况。2.借位问题。 首先我们考虑一下第一个问题1.怎么解决差为负数 因为高精度就是列竖式模拟,而列竖式是小学学的,我记得那时候还没学负数吧,所以我们就默认用大数减小数,只要在前面输出一个符号就行。 那我们再想一想如何判断两个数大小。首先若位数不等,那位数大 阅读全文
posted @ 2018-03-07 19:42 mrclr 阅读(840) 评论(0) 推荐(0) 编辑
摘要: a + b 自然是个很简单的问题,但若 a 和 b 都能达到两百位的话,连 unsigned long long 都存不了,这是就要用到高精度加法。 具体原理就是让电脑模拟列竖式加法。 首先我们用数组存这两个数。为了方便读入,我们采用字符串读入,然后将其转化成数字存进数组中。存进数组的时候要倒着存入 阅读全文
posted @ 2018-03-06 23:34 mrclr 阅读(375) 评论(0) 推荐(0) 编辑
摘要: 题目描述 有 2n 个棋子(n≥4)排成一行,开始为位置白子全部在左边,黑子全部在右边,如下图为 n=5 的情况: ○○○○○●●●●● 移动棋子的规则是:每次必须同时移动相邻的两个棋子,颜色不限,可以左移也可以右移到空位上去,但不能调换两个棋子的左右位置。每次移动必须跳过若干个棋子(不能平移),要 阅读全文
posted @ 2018-03-03 21:28 mrclr 阅读(377) 评论(0) 推荐(0) 编辑
摘要: 题目描述 一个简单的数列问题: 给定一个长度为n的数列,求这样的三个元素 ai,aj,ak 的个数,满足 ai< aj >ak,且 i<j<k。 输入输出格式 输入格式: 第1行是一个整数n(1<= n <= 50000)。 接下来n行,每行一个元素ai(0< = ai <= 32767)。 输出格 阅读全文
posted @ 2018-03-03 18:21 mrclr 阅读(318) 评论(0) 推荐(0) 编辑
摘要: 【题目描述】自从曹冲搞定了大象以后,曹操就开始捉摸让儿子干些事业,于是派他到中原养猪场养猪,可是曹冲满不高兴,于是在工作中马马虎虎,有一次曹操想知道母猪的数量,于是曹冲想狠狠耍曹操一把。举个例子,假如有16 头母猪,如果建了3 个猪圈,剩下1 头猪就没有地方安家了。如果建造了5 个猪圈,但是仍然有1 阅读全文
posted @ 2018-03-03 16:06 mrclr 阅读(325) 评论(0) 推荐(0) 编辑
摘要: 【问题描述】辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时 阅读全文
posted @ 2018-03-03 14:59 mrclr 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 欧拉函数是小于n的正整数中与 n 互质的数的数目,其中规定 φ(1) = 1。比如 φ(8) = 4 (1,3,5,7 和 8 互质),φ(9) = 5 (1,2,4,5,7,8 和 9 互质)。 求欧拉函数的公式是 这个公式就是这个意思 :φ(n) = n * (1 - 1 / p1) * (1 阅读全文
posted @ 2018-02-26 19:04 mrclr 阅读(419) 评论(0) 推荐(0) 编辑