HDU2303(数论)大整数求余+素数筛选
来源:互联网 发布:php网页聊天室原理 编辑:程序博客网 时间:2024/06/05 04:15
Sample Input
143 10143 20667 20667 302573 302573 400 0
Sample Output
GOODBAD 11GOODBAD 23GOODBAD 31
给你两个数a ,b; 让你求a 的最小素因子是否小于b
枚举小于b 的素数对a进行大整数求余即可。
按照这个栈爆了,看别人对大整数部分进行了处理(感觉对得莫名其妙,稍微改点点就不过╯▽╰/)
#include <iostream>#include <cstdio>#include <cstring>#include <vector>#include <queue>#include <algorithm>#pragma comment(linker, "/STACK:102400000,102400000")typedef long long ll;typedef unsigned long long ull;using namespace std;const int N=1000050;char p[200];int q[N],t[N];int n,L,R,c;int len;int tot;void prim(){ int i,j; for(i = 2;i < 1000000;i++) q[i] = 1; for(i= 2,tot = 0; i < 1000000; i++) { if(q[i]) { t[tot++] = i; for(j = i*2; j<1000000; j+=i) q[j] = 0; } }}bool work(int m){ int ans = 0; for(int i = 0; i < len; i++) ans = (int)(((ll)ans*10 + p[i]-'0') % m); if(ans == 0) return true; else return false;}int main(){ int i; prim(); while(scanf("%s%d",p,&c)) { int flag = 1; if(c == 0 && p[0] == '0') break; len = strlen(p); for(i = 0; t[i] < c && i <= tot; i++) if(work(t[i])) { flag = 0; break; } if(!flag) printf("BAD %d\n",t[i]); else printf("GOOD\n"); } return 0;}
0 0
- HDU2303(数论)大整数求余+素数筛选
- poj2635(大整数求余)
- POJ 1181 大整数是否为素数以及求大整数的质因数-数论-(Miller_rabin+Pollard_rho)
- 数论快速入门(同余、扩展欧几里德、中国剩余定理、大素数测定和整数分解、素数三种筛法、欧拉函数以及各种模板)
- 数论快速入门(同余、扩展欧几里德、中国剩余定理、大素数测定和整数分解、素数三种筛法、欧拉函数以及各种模板)
- poj2635The Embarrassed Cryptographer(同余模+素数筛选+高精度求模)
- 数论 素数筛选法与整数的素因子分解
- 数论--素数筛选法与整数的素因子分解
- 大整数的加减乘除求余
- 同余定理求大整数余数
- 求素数(普通+筛选)
- 王烯出的题:数论(素数筛选)
- 素数筛(筛选法求素数)
- hdu1395 (数论,暴力求余)
- 大整数运算(加法,减法,除法,求余,求最大公约数)
- poj 2635 大数模运算(内有打素数表的模板,大树求余分解公式)
- (转)筛选法求素数
- Prime Distance(筛选法求素数 )
- 请大胆的和你职业相关的人保持沟通
- KMP算法详解
- sizeof运算符
- POJ 2017 Speed Limit 简单模拟
- HashMap和HashSet的区别
- HDU2303(数论)大整数求余+素数筛选
- [Tyvj 1729]文艺平衡树
- centos install (PHP+Mysql+apache)
- POJ 1922 Ride to School 简单模拟
- C++ 指针函数介绍
- 第12章:单选扭(RadioButton)和复选框(CheckBox)的功能和用法
- 双指针
- HDU 1406 完数
- QT下实现将图片从一个文件拷贝到另一个文件夹