数论
zengshengda
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
HDU1286
本题思路明确,应该是一道水题;但是却让我WA了1次TIM了1次,郁闷ing;第一次看了一下是欧拉公式我自己现在还是认为可以解决但是却WA了,不找到哪位大牛可以指导下。第二次,就用打表的但是调用了最大公约数超时了;后来想到了素数打表的方法,过了109MS。 下面是WA的欧拉函数算法,希望大牛指点 #include"stdio.h" int eular(int n) { int i,原创 2011-12-02 21:39:15 · 424 阅读 · 0 评论 -
HDU1299
HDU1299本题刚开始思路是1/x= 1/y+1/z那么这个表达式可以修改为1/x=1/(x+a)+1/(x+b)经过整理可以得到x^2=a*b,那么只要查看满足这个表达式a,b的个数.却被TIM了其代码如下: #include"stdio.h" int main() { int t,n,i,count,case1=0,j; scanf("%d",&t); while(t--)原创 2011-12-02 21:40:13 · 433 阅读 · 0 评论 -
HDU1164
HDU1164大意如下,任何一个数都可以分解为若干个素数的乘积;也就是代数定理。此题为一道水题,一次就AC了。首先可以利用素数够造一个素数表,之后将其素数因子挨个存储之后打印#include"stdio.h" int d[10000],count=0; int prime(int n) { int i; if(n!=2&&n%2==0||n!=3&&n%3==0||n!=5&&n%5原创 2011-12-02 21:45:19 · 393 阅读 · 0 评论 -
HDU1164
HDU1164大意如下,任何一个数都可以分解为若干个素数的乘积;也就是代数定理。此题为一道水题,一次就AC了。首先可以利用素数够造一个素数表,之后将其素数因子挨个存储之后打印 #include"stdio.h" int d[10000],count=0; int prime(int n) { int i; if(n!=2&&n%2==0||n原创 2011-12-02 21:02:00 · 340 阅读 · 0 评论 -
HDU1211
HDU1211题意为利用算法公式m=c^d%n其中 n=q*p 与e*d%f=1%f而f=(p-1)*(q-1) 本题就一个地方处理一下其他方面相对来说很水,首先题目是已知c、p、q那么你可以从中求取d那么d就是所谓的e的逆元为了能加快寻找利用f的关系求出逆元,最后利用蒙哥马利罗比算法求出m。 #include"stdio.h" int fun(int a,int b,int n)原创 2011-12-02 21:36:15 · 497 阅读 · 0 评论 -
HDU1215
此题明显是一道水题,但是自己却被WA了一次;后来认真看了一下原来是如果两个因子相同的我多算了一次,之后改了一下就AC了。 #include"stdio.h" int main() { int n,i,j,m,sum; scanf("%d",&n); while(n--) { sum=1; scanf("%d",&m); for(j=2;j*j<=原创 2011-12-02 21:37:00 · 325 阅读 · 0 评论 -
HDU1222
HDU1222本题初看一下有点难度,但是仔细想一下却是十分简单,只要判断兔子所在的位置数值与狼每次寻找间隔的数值是否互素;就可以判断兔子是否能够存活了。 #include"stdio.h" int gcd(int a,int b) { return b?gcd(b,a%b):a; } int main() { int p,n,m,i; while(scanf("%d",&p原创 2011-12-02 21:37:48 · 394 阅读 · 0 评论
分享