//B-prime
#include <iostream>
using namespace std;
bool isPrime(int n) {
if (n < 2) {
return false;}
for (int i = 2; i * i <= n; ++i) {
if (n % i == 0) {
return false;}}
return true;}
int findYForPrime(int x) {
if (x == 2 || x == 3) {
return -1; // No valid "y" for 2 or 3
}
if (!isPrime(x)) { return -1; // Not prime number
}
if (x % 6 == 1) {
return (x - 1) / 6;
} else if (x % 6 == 5) {
return (x + 1) / 6;
} else {
return -1; // Invalid prime number (not of the form 6y ± 1)
}}
int main() {
int prime;
cout << "Enter your number: ";
cin >> prime;
int yValue = findYForPrime(prime);
if (yValue != -1) {
cout << "For prime " << prime << ", y = " << yValue << endl;
}
else {
cout << "Not a prime number: " << prime << endl;
}
return 0;
}
Ci8vQi1wcmltZQoKI2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmJvb2wgaXNQcmltZShpbnQgbikgewogICAgCmlmIChuIDwgMikgewogICAgCnJldHVybiBmYWxzZTt9Cgpmb3IgKGludCBpID0gMjsgaSAqIGkgPD0gbjsgKytpKSB7CiAgICAKaWYgKG4gJSBpID09IDApIHsKICAgIApyZXR1cm4gZmFsc2U7fX0KCnJldHVybiB0cnVlO30KCmludCBmaW5kWUZvclByaW1lKGludCB4KSB7CiAgICAKaWYgKHggPT0gMiB8fCB4ID09IDMpIHsKICAgIApyZXR1cm4gLTE7IC8vIE5vIHZhbGlkICJ5IiBmb3IgMiBvciAzCn0KaWYgKCFpc1ByaW1lKHgpKSB7IHJldHVybiAtMTsgLy8gTm90IHByaW1lIG51bWJlcgp9CmlmICh4ICUgNiA9PSAxKSB7CiAgICAKcmV0dXJuICh4IC0gMSkgLyA2OwoKfSBlbHNlIGlmICh4ICUgNiA9PSA1KSB7CiAgICAKcmV0dXJuICh4ICsgMSkgLyA2OwoKfSBlbHNlIHsKICAgIApyZXR1cm4gLTE7IC8vIEludmFsaWQgcHJpbWUgbnVtYmVyIChub3Qgb2YgdGhlIGZvcm0gNnkgwrEgMSkKfX0KaW50IG1haW4oKSB7CiAgICAKaW50IHByaW1lOwpjb3V0IDw8ICJFbnRlciB5b3VyIG51bWJlcjogIjsKCmNpbiA+PiBwcmltZTsKCmludCB5VmFsdWUgPSBmaW5kWUZvclByaW1lKHByaW1lKTsKCmlmICh5VmFsdWUgIT0gLTEpIHsKICAgIApjb3V0IDw8ICJGb3IgcHJpbWUgIiA8PCBwcmltZSA8PCAiLCB5ID0gIiA8PCB5VmFsdWUgPDwgZW5kbDsKCn0gCmVsc2UgewogICAgCmNvdXQgPDwgIk5vdCBhIHByaW1lIG51bWJlcjogIiA8PCBwcmltZSA8PCBlbmRsOwp9CnJldHVybiAwOwp9Cg==