数论机试
圣托里尼的日落啊~
这个作者很懒,什么都没留下…
展开
-
康拓展开和逆康拓展开
转载自:https://blog.csdn.net/wbin233/article/details/72998375简述康托展开是一个全排列到一个自然数的双射,常用于构建hash表时的空间压缩。设有n个数(1,2,3,4,…,n),可以有组成不同(n!种)的排列组合,康托展开表示的就是是当前排列组合在n个不同元素的全排列中的名次。原理X=a[n]*(n-1)!+a[n-1]*(n-2)...转载 2019-05-05 14:57:25 · 100 阅读 · 0 评论 -
[大整数运算]--M进制转换成N进制
题目来源:codeup 问题D:进制转换题目描述将M进制的数X转换为N进制的数输出。输入输入的第一行包括两个整数:M和N(2<=M,N<=36)。下面的一行输入一个数X,X是M进制的数,现在要求你将M进制的数X转换成N进制的数输出。输出输出X的N进制表示的数。样例输入10 211样例输出1011提示注意输入时如有字母,则字母为大写,输出时如有字母,则字...原创 2019-06-02 14:11:49 · 536 阅读 · 0 评论 -
[大整数运算]--进制转换
题目描述将一个长度最多为30位数字的十进制非负整数转换为二进制数输出。输入多组数据,每行为一个长度不超过30位的十进制非负整数。(注意是10进制数字的个数可能有30个,而非30bits的整数)输出每行输出对应的二进制数。样例输入9852111126样例输出11110110011101001110001100110思路:与高精度除法类似。不断地用当前数除以2,把...原创 2019-06-02 13:34:27 · 253 阅读 · 0 评论 -
[大整数运算]--浮点数加法
题目来源:codeup连接题目描述求2个浮点数相加的和题目中输入输出中出现浮点数都有如下的形式:P1P2…Pi.Q1Q2…Qj对于整数部分,P1P2…Pi是一个非负整数对于小数部分,Qj不等于0输入对于每组案例,第1行是测试数据的组数n,每组测试数据占2行,分别是两个加数。每组测试数据之间有一个空行,每行数据不超过100个字符输出每组案例是n行,每组测试数据有一行输出是相应的...原创 2019-06-02 08:32:39 · 425 阅读 · 0 评论 -
[大整数运算]--N的阶乘
题目来源:codeup N的阶乘题目描述输入一个正整数N,输出N的阶乘。输入正整数N(0<=N<=1000)输出输入可能包括多组数据,对于每一组输入数据,输出N的阶乘样例输入047样例输出1245040该题本质上是高精度与低精度的乘法(因为N的大小不超过1000)。外层循环从N遍历到1,表示的是当前乘以的低精度数字。内层循环针对当前高精度的每一位分别...原创 2019-06-01 09:00:53 · 660 阅读 · 0 评论 -
codeup1970计算两个矩阵的乘积
题目描述计算两个矩阵的乘积,第一个是23矩阵,第二个是32矩阵,结果为一个2*2矩阵。输入输入包含多组数据,先输入一个23矩阵,再输入一个32矩阵。输出输出两个矩阵的乘积。样例输入1 1 11 1 11 11 11 1样例输出3 33 3#include <iostream>using namespace std;int main(){ ...原创 2019-05-24 09:21:01 · 244 阅读 · 0 评论 -
数论--分数矩阵
题目描述我们定义如下矩阵:1/1 1/2 1/31/2 1/1 1/21/3 1/2 1/1矩阵对角线上的元素始终是1/1,对角线两边分数的分母逐个递增。请求出这个矩阵的总和。输入输入包含多组测试数据。每行给定整数N(N<50000),表示矩阵为N*N。当N=0时,输入结束。输出输出答案,结果保留2位小数。样例输入12340样例输出1.003.005...原创 2019-05-23 22:29:50 · 242 阅读 · 0 评论 -
数论--最小公倍数
题目来源:问题 A: Least Common Multiple题目描述The least common multiple (LCM) of a set of positive integers is the smallest positive integer which is divisible by all the numbers in the set. For example, the ...原创 2019-05-23 21:20:11 · 164 阅读 · 0 评论 -
[高精度计算]--大整数乘法
题目来源:百练2980描述求两个不超过200位的非负整数的积。输入有两行,每行是一个不超过200位的非负整数,没有多余的前导0。输出一行,即相乘后的结果。结果里不能有多余的前导0,即如果结果是342,那么就不能输出为0342。样例输入1234567890098765432100样例输出1219326311126352690000#include <iostrea...原创 2019-05-26 09:31:10 · 198 阅读 · 0 评论 -
[高精度计算]-百练2736 大整数减法
描述求两个大的正整数相减的差。输入共2行,第1行是被减数a,第2行是减数b(a > b)。每个大整数不超过200位,不会有多余的前导零。输出一行,即所求的差。样例输入99999999999999999999999999999999999999999999999999样例输出9999999999999999999999990000000000000#include &...原创 2019-05-25 16:03:49 · 166 阅读 · 0 评论 -
[高精度计算]--大整数加法
题目描述实现一个加法器,使其能够输出a+b的值。输入输入包括两个数a和b,其中a和b的位数不超过1000位。输出可能有多组测试数据,对于每组数据,输出a+b的值。样例输入6 82000000000 30000000000000000000样例输出1430000000002000000000#include <iostream>#include <c...原创 2019-05-25 15:04:46 · 212 阅读 · 0 评论 -
数论--质因子分解
题目来源:PAT 1059 Prime FactorsGiven any positive integer N, you are supposed to find all of its prime factors, and write them in the format: N=p1k1∗p2k2∗...∗pmkmN = p_1^{k_1}*p_2^{k_2}*...*p_m^{k_m}N=p1...原创 2019-05-24 19:23:18 · 250 阅读 · 0 评论 -
素数
法一:根号判别法#include <iostream>#include <cmath>using namespace std;const int maxn = 101; //表长int prime[maxn]; //prime数组存放所有素数int pNum; //素数个数bool p[maxn] = {false...原创 2019-05-06 14:53:47 · 113 阅读 · 0 评论 -
[大整数运算]--10进制 VS 2进制
题目来源:问题 F: 10进制 VS 2进制题目描述对于一个十进制数A,将A转换为二进制数,然后按位逆序排列,再转换为十进制数B,我们称B为A的二进制逆序数。例如对于十进制数173,它的二进制形式为10101101,逆序排列得到10110101,其十进制数为181,181即为173的二进制逆序数。输入一个1000位(即10^999)以内的十进制数。输出输入的十进制数的二进制逆序数。...原创 2019-06-02 15:17:21 · 210 阅读 · 0 评论