数论
hncu__lz
既然坚持了这么久,就要坚持到最后~
展开
-
hdu2608 数论,规律
题意:T(n)表示n的所有因子和,S(n)表示从T(1)到T(n)的和; 思路:根据打表可发现规律,能被平方根的数和能被二整除并且被平方根的数T(n) 才为奇数; 代码:#include<stdio.h> #include<string.h> int main() { int i,j,n,t,sum; scanf("%d",&t); while(t原创 2016-03-29 18:46:15 · 270 阅读 · 0 评论 -
hdu1395 (数论,暴力求余)
题目大意:给你一个数N,判断是否存在x,满足2^x mod N = 1。若满足,对于满足条件的最小x,输出2^x mod N = 1,否则输出 Input One positive integer on each line, the value of n.Output If the minimum x exists, print a line with 2^x mod n = 1.Print转载 2016-04-05 23:25:13 · 396 阅读 · 0 评论 -
hdu2824(欧拉函数)
题意:求a到b的所有欧拉函数值; Input There are several test cases. Each line has two integers a, b (2#include<stdio.h>#include<math.h>int a[3000001];void euler(){ int i,j; for(i=1;i<=3000000;i++)原创 2016-04-06 23:11:33 · 820 阅读 · 0 评论 -
hdu2588(欧拉函数的应用)
题意:给定N,M(2<=N<=1000000000, 1<=M<=N), 求1<=X<=N 且gcd(X,N)>=M的个数。 Input The first line of input is an integer T(T<=100) representing the number of test cases. The following T lines each contains two num转载 2016-04-06 22:32:50 · 434 阅读 · 0 评论 -
hdu1796(容斥原理)
题意: 给你一个集合M,里面最多有10个非负数,问1~n-1中一共有多少个数可以被其中一个整除。 思路:就是把M中的每个元素去除以n,然后减去重复的(容斥原理),就是答案; 代码:#include<stdio.h>#include<iostream>using namespace std;__int64 n,m,mm,a[11];__int64 gcd(__int64 a,__int6原创 2016-04-08 22:48:27 · 335 阅读 · 0 评论 -
hdu1695(欧拉函数,容斥原理,vector容器)
t题意:求(1,b)区间和(1,d)区间里面gcd(x, y) = k的数的对数(1<=x<=b , 1<= y <= d)。 b和d分别除以k之后的区间里面,只需要求gcd(x, y) = 1就可以了,这样子求出的数的对数不变。 这道题目还要求1-3 和 3-1 这种情况算成一种,因此只需要限制x#include<stdio.h>#include<string.h>#include<vec原创 2016-04-08 01:45:07 · 206 阅读 · 0 评论 -
hdu 2521(反素数)
题意Problem Description 反素数就是满足对于任意i(0#include<stdio.h>int a,b;int bestnum;int f[5010]={0};int main(){ int n,i,j; for(i=1;i<=5000;i++) for(j=i;j<=5000;j=j+i) f[j]++;原创 2016-04-01 03:10:25 · 370 阅读 · 0 评论 -
hdu 统计问题 (递推)
Problem Description 在一无限大的二维平面中,我们做如下假设: 1、 每次只能移动一格; 2、 不能向后走(假设你的目的地是“向上”,那么你可以向左走,可以向右走,也可以向上走,但是不可以向下走); 3、 走过的格子立即塌陷无法再走第二次;求走n步不同的方案数(2种走法只要有一步不一样,即被认为是不同的方案)。 Input 首先给出一个正整数C,表示有C组测试数据原创 2016-07-24 09:33:11 · 3932 阅读 · 0 评论 -
Tempter of the Bone
Problem Description The doggie found a bone in an ancient maze, which fascinated him a lot. However, when he picked it up, the maze began to shake, and the doggie could feel the ground sinking. He rea原创 2016-07-21 10:28:44 · 196 阅读 · 0 评论 -
hdu1013 (数论)
题意:就是把数的每个位数相加,看是否小于10,是就输出,如果大于10,则继续进行位数相加,知道为一个数,最后输出一个数;其实让我们做了是为了让我们知道一个结论。一个数(n)的树根k=(n-1)%9-1; Input The input file will contain a list of positive integers, one per line. The end of the input原创 2016-04-05 20:33:43 · 231 阅读 · 0 评论 -
hdu4715 (素数删选法)
题意:给出一个偶数(不论正负),求出两个素数a,b,能够满足 a-b=x,素数在1e6以内。 只要用筛选法打出素数表,枚举查询下就行了。 注意,偶数有可能是负数,其实负数就是将它正数时的结果颠倒就行了。 代码:#include<stdio.h>#define max 1000005int main(){ int i,j; int prime[max]={0,1};原创 2016-04-04 21:17:55 · 371 阅读 · 0 评论 -
hdu2710 (素数删选法)
题意: 输入一个正整数n(1 <=n<= 5000),然后输入n个正整数(1<=这些数<=20000),要你求这n个数里哪个数的最大素因数(即能被该数整除的最大素数)最大,然后输出这个数。若有两个数的最大素因数相同,则输出前面那个。 代码:#include<stdio.h>#define maxn 20005int prime[maxn]={0,1};int t;int main(){原创 2016-04-04 20:49:23 · 406 阅读 · 0 评论 -
hdu2104 欧几里得
题目大意:意思是n个人围成一个圈,大家玩丢手帕游戏,手帕藏在某一个人的箱子里,Haha来找,每一次他都会跳过m-1个人。问你Haha是不是一定能找到手帕。因为Haha找的次数是无限的,可以永远找下去,所以,只要他能把所有的人都找一遍就一定能找到。但按照他的这种找法,如果n和m不互质的话,不互质就会出现某些人是永远不会找。所以看一下 n和m的最大公约数就行了; 代码:#include<stdio.h原创 2016-03-29 19:10:05 · 461 阅读 · 0 评论 -
hdu1124
题意:求N!中末尾0的个数; 思路:求出5的个数,即一个5就可以增加一个0; 代码:#include<stdio.h>int main(){ int t; scanf("%d",&t); while(t--) { int n,i,s=0; scanf("%d",&n); for(i=5;i<=n;i=i*5)原创 2016-03-29 19:32:35 · 205 阅读 · 0 评论 -
hdu4542 求反素数
题意Problem Description “今有物不知其数,三三数之有二,五五数之有三,七七数之有二,问物几何?” 这个简单的谜题就是中国剩余定理的来历。 在艰难地弄懂了这个定理之后,小明开始设计一些复杂的同余方程组X mod ai = bi 来调戏别人,结果是必然的,都失败了。 可是在这个过程中,小明发现有时并不一定要把ai和bi告诉你。他只需要告诉你,ai在区间 [1, X] 范围原创 2016-04-01 00:33:19 · 479 阅读 · 0 评论 -
hdu1061(快速幂取余)
题意:求N^Nmod10;#include<stdio.h>int main(){ int t; scanf("%d",&t); while(t--) { int a,b; int ans=1; scanf("%d",&a); b=a; a=a%10; while(b>原创 2016-03-12 04:40:27 · 265 阅读 · 0 评论 -
hdu1019
题意:求n个数的最大公倍数;#include<stdio.h>#define max(x,y) (x>y?x:y)#define min(x,y) (x<y?x:y)int find(int a1,int a2){ int t1=a1%a2; while(t1!=0) { a1=a2; a2=t1; t1=a1%a2;原创 2016-03-09 23:33:35 · 263 阅读 · 0 评论 -
hdu1008
题意:求楼梯到各层的总时间,上升一楼需要6S,下降一楼需要4S,到达每一层必须需要停5S。 代码:include原创 2016-03-08 16:50:31 · 241 阅读 · 0 评论 -
hdu1005
#include<stdio.h>int main(){ int a,b; __int64 n; int q[100]; q[1]=1;q[2]=1; while(~scanf("%d%d%I64d",&a,&b,&n)) { if(a==0&&b==0&n==0) break; int k,原创 2016-03-08 16:32:44 · 290 阅读 · 0 评论 -
hdu4228 (反素数)
题意:给你一个数N,找出一个最小的可以拆分成N种乘积表达形式的数x Sample Input 2 16 19 0Sample Output 4 840 786432思路:比如N=2,6可以拆成2x3或者1x6两种,但不是最小的,最小的是4可以拆成1x4,2x2两种首先可以肯定的是x必然有N*2或者是N*2-1(完全平方的情况)个约数利用求反素数的过程求出约数为N*2和N*2-1个的最原创 2016-04-01 16:56:12 · 354 阅读 · 0 评论 -
poj 2965 The Pilots Brothers' refrigerator
DescriptionThe game “The Pilots Brothers: following the stripy elephant” has a quest where a player needs to open a refrigerator.There are 16 handles on the refrigerator door. Every handle can be in on原创 2016-08-09 05:27:04 · 168 阅读 · 0 评论