hdu4320 Arcane Numbers 1(小数进制转换)
来源:互联网 发布:windows的资源管理器 编辑:程序博客网 时间:2024/06/04 19:47
这题首先得明白一个十进制小数如何变成A进制小数的。比如下面的二进制。
点击打开链接
这样的话我们就可以先把A进制下的小数变成十进制下的小数,然后看能否变成B进制下的小数。
给出A,B表示两种进制,一个A进制下的有限小数能否转换成B进制下的有限小数。
A进制下的小数可以表示成
1/(A^1)+1/(A^2) + 1/(A^3) + ……,
转换成B进制就是不断的成B知道为0,(1/(A^1)+1/(A^2) + 1/(A^3) + ……)*,进一步化简就是必须整除,就可以变成A中的质因数必须出现在B中。
A <=10^12,质因数打表只需要sqrt(A)就行了。然后就是范围内的枚举。
/*****************************************Author :Crazy_AC(JamesQi)Time :2016File Name :*****************************************/// #pragma comment(linker, "/STACK:1024000000,1024000000")#include <iostream>#include <algorithm>#include <iomanip>#include <sstream>#include <string>#include <stack>#include <queue>#include <deque>#include <vector>#include <map>#include <set>#include <cstdio>#include <cstring>#include <cmath>#include <cstdlib>#include <climits>using namespace std;#define MEM(x,y) memset(x, y,sizeof x)#define pk push_back#define lson rt << 1#define rson rt << 1 | 1typedef long long LL;typedef unsigned long long ULL;typedef pair<int,int> ii;typedef pair<ii,int> iii;const double eps = 1e-10;const int inf = 1 << 30;const int INF = 0x3f3f3f3f;const int MOD = 1e9 + 7;const int N = 1e6 + 10;int A[N];int mark[N];int top;void prim() { for (int i = 2;i < N;++i) { if (!mark[i]) { mark[i] = 1; A[top++] = i; for (int j = i*2;j < N;j += i) mark[j] = 1; } }}int main(){ // freopen("in.txt","r",stdin); // freopen("out.txt","w",stdout); int t; scanf("%d",&t); int nCase = 0; prim(); while(t--) { LL a,b; scanf("%lld%lld",&a,&b); bool flag = true; for (int i = 0;i < top && 1LL*A[i]*A[i] <= a;++i) { if (a % A[i] == 0) { while(a % A[i] == 0) a /= A[i]; if (b % A[i] != 0) { flag = false; break; } } } printf("Case #%d: ", ++nCase); if (b % a != 0) flag = false; if (flag) puts("YES"); else puts("NO"); } return 0;}
0 0
- hdu4320 Arcane Numbers 1(小数进制转换)
- 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 4320 Arcane Numbers 1(12年多校3-数学)
- hdu - 4320 - Arcane Numbers 1 - 想法题
- HDU 4320 Arcane Numbers 1 (数论)
- hdu 4320 Arcane Numbers 1 多校联合赛(三)第一题
- 2012 Multi-University Training Contest 3:Arcane Numbers 1
- 小数进制转换
- JavaStep-小数进制转换
- 小数的进制转换
- hdu - 4321 - Arcane Numbers 2 - 数位统计
- (大数乘小数、大数加小数、大数相乘、大数阶乘、大数进制转换)
- apache和samba和c#的关联
- 比大小
- sqlplus和jboss和context的关联
- tcpdump和mysql和velocity的关联
- 蓝桥杯 大臣的旅费
- hdu4320 Arcane Numbers 1(小数进制转换)
- js变量提升
- OpenCV人脸识别facerec源码分析——FaceRecognizer概述
- Spring Filter过滤器,Spring拦截未登录用户权限限制
- context和tcp和sqlplus的关联
- perl和python和jquery的关联
- android和com和nginx的关联
- framework和linux和jboss的关联
- matlab练习程序(TV模型图像修复)