1231. The Embarrassed Cryptography
2014-11-20 17:33
211 查看
#include <iostream> #include <cstring> #include <vector> #define N 1000001 using namespace std; string num; int length; bool isPrime ; vector<int> prime; vector<int> longNum; void init() { memset(isPrime, true, sizeof(isPrime)); isPrime[0] = false; isPrime[1] = false; prime.push_back(2); for(long i = 2; i * 2 < N; i++) { isPrime[2*i] = false; } for(long i = 3; i < N; i += 2) { if(isPrime[i]) { prime.push_back(i); for(long j = 2 * i; j < N; j += i) { isPrime[j] = false; } } } } void transfer() { longNum.clear(); int tmplen = num.length(); longNum.resize(tmplen); for(int i = 0; i < tmplen; i++) { longNum[i] = (static_cast<int>(num[i] - '0')); } } bool canMod(int divider) { int tmp = 0; for(int i = 0; i < longNum.size(); i++) { tmp = tmp * 10 + longNum[i]; if(i % 3 == 0) { tmp %= divider; } } tmp %= divider; if(tmp == 0) { return true; } return false; } void find() { bool unsafe = false; int mark; for(int i = 0; i < prime.size(); i++) { if(canMod(prime[i])) { if(prime[i] < length) { unsafe = true; mark = prime[i]; } break; } } if(unsafe) { cout << "BAD " << mark << endl; } else { cout << "GOOD" << endl; } } int main() { init(); while(cin >> num >> length) { if(num == "0" || length == 0) { break; } transfer(); find(); } return 0; }
相关文章推荐
- 1231. The Embarrassed Cryptography(求两个素数积)
- sicily 1231 The Embarrassed Cryptography
- sicily 1231. The Embarrassed Cryptography
- Sicily1231. The Embarrassed Cryptography
- Sicily 1231. The Embarrassed Cryptography【高精度取余】
- 1231. The Embarrassed Cryptography
- sicily 1231. The Embarrassed Cryptography
- sicily 1231. The Embarrassed Cryptography
- 1231 The Embarrassed Cryptography
- POJ2635--The Embarrassed Cryptographer--大数取模
- pku 2635 The Embarrassed Cryptographer(质数表,高精度)
- POJ 2635 The Embarrassed Cryptographer
- poj 2635 The Embarrassed Cryptographer
- 2016_S&P_Hawk:The Blockchain Model of Cryptography and Privacy-Preserving Smart Contracts
- 密码学历史(The History of Cryptography)(15)
- poj The Embarrassed Cryptographer(大数取模)(同余模定理)
- POJ 2635 The Embarrassed Cryptographer
- POJ 2635 The Embarrassed Cryptographer(整数刷新,千进制取模)
- POJ -2635-The Embarrassed Cryptographer-数论
- System.Security.Cryptography.CryptographicException: The data to be decrypted exceeds the maximum for this modulus of 128 bytes. (RSACryptoServiceProv