数论
希文go
一切都不是偶然,必然需要自己创造
展开
-
(A^B)%C 快速幂乘
简单图论的快速幂乘问题#includeusing namespace std;int main(){ int a,b,c; while (scanf("%d%d%d",&a,&b,&c)!=EOF&&a!=0&&b!=0&&c!=0) { int ans = 1; a=a%c; while (b>0) { if(b%2==1)原创 2015-10-24 16:52:27 · 415 阅读 · 0 评论 -
NYOJ - 数的长度
数的长度时间限制:3000 ms | 内存限制:65535 KB难度:1描述N!阶乘是一个非常大的数,大家都知道计算公式是N!=N*(N-1)······*2*1.现在你的任务是计算出N!的位数有多少(十进制)?输入首行输入n,表示有多少组测试数据(n随后n行每行输入一组测试数据 N( 0 输出对于每个数N,输出N!的(十进制)位数。样例输入31原创 2016-02-07 10:33:46 · 307 阅读 · 0 评论 -
另一种阶乘问题
描述大家都知道阶乘这个概念,举个简单的例子:5!=1*2*3*4*5.现在我们引入一种新的阶乘概念,将原来的每个数相乘变为i不大于n的所有奇数相乘例如:5!!=1*3*5.现在明白现在这种阶乘的意思了吧!现在你的任务是求出1!!+2!!......+n!!的正确值(n输入第一行输入一个a(a接下来a行各行输入一个n.输出各行输出结果一个整数R表示1!!+2!!...原创 2016-02-07 10:54:54 · 252 阅读 · 0 评论 -
分数拆分
分数拆分时间限制:3000 ms | 内存限制:65535 KB难度:1描述现在输入一个正整数k,找到所有的正整数x>=y,使得1/k=1/x+1/y.输入第一行输入一个整数n,代表有n组测试数据。接下来n行每行输入一个正整数k输出按顺序输出对应每行的k找到所有满足条件1/k=1/x+1/y的组合样例输入22 12样例输出1/2=1/原创 2016-02-09 13:28:05 · 272 阅读 · 0 评论 -
素数求和问题
素数求和问题时间限制:3000 ms | 内存限制:65535 KB难度:2描述现在给你N个数(0输入第一行给出整数M(0每组测试数据第一行给你N,代表该组测试数据的数量。接下来的N个数为要测试的数据,每个数小于1000输出每组测试数据结果占一行,输出给出的测试数据的所有素数和样例输入351 2 3 4 5811 12 13 14 1转载 2016-02-15 20:29:11 · 179 阅读 · 0 评论 -
数论--多边形求重心及其面积
分析:多边形求重心分为几种情况:1,质量集中在顶点上。n个顶点坐标为(xi,yi),质量为mi,则重心 X = ∑( xi×mi ) / ∑mi Y = ∑( yi×mi ) / ∑mi 特殊地,若每个点的质量相同,则 X = ∑xi / n Y = ∑yi / n2,质量分布均匀,与上面算法不同 特殊地,质量均匀的三角形重心: X = (原创 2016-02-03 11:57:28 · 716 阅读 · 0 评论 -
最大公约数最小公倍数
用欧几里得算法计算最大公约数int gcd(int n,int m){ if(n<m) return gcd(m,n); if(m==0) return n; else return gcd(m,n%m);}最小公倍数int lcm(int n, int m){ return n*m/gcd(原创 2016-02-04 16:23:05 · 233 阅读 · 0 评论