HDU 4320 Arcane Numbers 1
2012-07-31 22:18
330 查看
题意:一个有限数数从A进制转换为B进制,如果依然是有限数输出YES,否则NO
算法:
只要检查A中的质因子 是否都在 B中被包含。
刚开始二了,分别把每个数分解质因数,然后二分查找是否存在果断TLE。
分解A的质数prime[i]时,就用B%prime[i]判断是否整除。。。同时进行
View Code
算法:
只要检查A中的质因子 是否都在 B中被包含。
刚开始二了,分别把每个数分解质因数,然后二分查找是否存在果断TLE。
分解A的质数prime[i]时,就用B%prime[i]判断是否整除。。。同时进行
View Code
#include<stdio.h> #include<string.h> #include<iostream> #include<vector> #include<string> #include<math.h> #include<map> #include<set> #include<algorithm> using namespace std; long long prime[1000110]; bool visit[1000110] = {0}; long long ans = 0; long long ha[5660000]; long long hb[5660000]; void Get_Prime( ) { double xx = (double) sqrt(1000100.0); int x = xx; visit[0] = visit[1] = true; ans = 0; for( long long i = 2; i <= x; i++) { if( !visit[i] ) { for( long long j = i + i; j <= 1000100; j += i ) { visit[j] = true; } } } for( long long i = 1; i <= 1000100; i++) { if( !visit[i] ) prime[ans++] = i; } } bool jugde( long long y, long long x) { long long fuck = 0; while( 1 ) { while( x != 1 && x && (x % prime[fuck] == 0 )) { x /= prime[fuck]; if(prime[fuck] != 0 && y % prime[fuck] != 0 ) return false; } fuck++; if( x <= 1 ) break; if( fuck >= ans ) { if( x!= 0 && y % x != 0 ) return false; else return true; } } return true; } int main( ) { long long T, N, M, abc = 1; scanf("%I64d",&T); Get_Prime( ); while(T--) { scanf("%I64d%I64d",&N,&M); printf("Case #%I64d: ",abc++); if( !jugde( M, N) ) puts("NO"); else puts("YES"); } return 0; }
相关文章推荐
- hdu 4320 Arcane Numbers 1
- HDU 4320 Arcane Numbers 1
- HDU 4320 Arcane Numbers 1 (数论)
- hdu 4320 Arcane Numbers 1
- HDU 4320 Arcane Numbers 1(质因子包含)
- hdu 4320 Arcane Numbers 1 多校联合赛(三)第一题
- HDU 4320 Arcane Numbers 1
- hdu 4320 Arcane Numbers 1
- hdu 4320 Arcane Numbers 1(小数进制转化后是否有限位)
- hdu 4320 Arcane Numbers 1 多校联合赛(三)第一题
- HDU 4320 Arcane Numbers 1 (质因子分解)
- HDU 4320 Arcane Numbers 1(12年多校3-数学)
- HDU - 4320 Arcane Numbers 1
- HDU 4320 - Arcane Numbers 1 / SWUN 1429 - 进制转化
- HDU-4320 Arcane Numbers 1
- HDU - 4320 Arcane Numbers 1
- hdu - 4320 - Arcane Numbers 1 - 想法题
- HDU 4320 Arcane Numbers 1 (数论)
- HDU 4320 Arcane Numbers 1(质因子)
- HDU 4321 Arcane Numbers 2