素?cái)?shù)的完整規(guī)律【已完成】【C++】【完整】
#include<iostream>#include<fstream>#include<cmath>#include<string>#include<sstream>#include<ctime>#include<cstdlib>using namespace std;int MyFun(int i, int &sum){
? ?if (i / 10 == 0)
? ?{
? ? ? ?sum += (i % 10);
? ? ? ?return 0;
? ?}
? ?else
? ?{
? ? ? ?sum += (i % 10);
? ? ? ?return MyFun(i / 10, sum);
? ?}}bool isprime(int num) {
if(num == 2) {
return true;
}
if(num % 2 == 0 || num < 2) {
return false;
}
else {
for(int i = 3;i * i <= num;i += 2) {
if(num % i == 0) {
return false;
}
}
return true;
}}int main() {
srand(time(NULL));
int a, b, c;
ofstream fout;
ifstream fin;
fout.open("t.txt");
fin.open("t.txt");
string q[1290];
for(int i = 0;i < 1290;++i) {
a = i + 1;
b = a*a*a;
c = 0;
int temp = a;
MyFun(temp, c);
while(c > 9) {
temp = c;
c = 0;
MyFun(temp, c);
}
fout << a << " " << b << " ";
double x = b;
c = 0;
temp = b;
MyFun(temp, c);
while(c > 9) {
temp = c;
c = 0;
MyFun(temp, c);
}
fout << c << " ";
x = x + 1;
fout << sqrt(x) << " ";
x = sqrt(x);
int o;
o = x * 1000;
stringstream y;
y << o;
string z;
y >> z;
string p[4];
for(int i = 0;i < 4;++i) {
? ?if(z[i] == '1') {
? ? p[i] = "黑";
}
if(z[i] == '2') {
? ? p[i] = "紅";
}
if(z[i] == '3') {
? ? p[i] = "黑";
}
if(z[i] == '4') {
? ? p[i] = "紅";
}
if(z[i] == '5') {
? ? p[i] = "紅";
}
if(z[i] == '0') {
? ? p[i] = "黃";
}
if(z[i] == '6') {
? ? ? ?p[i] = "紅";
}
if(z[i] == '7') {
? ? p[i] = "黑";
}
if(z[i] == '8') {
? ? p[i] = "紅";
}
if(z[i] == '9') {
? ? p[i] = "黑";
}
}
string temp1;
temp1 = p[0];
p[0] = p[3];
p[3] = temp1;
z[2] += 2;
if(z[2] <= '9') {
? ?if(z[2] == '1') {
? ? p[2] = "黑";
}
if(z[2] == '2') {
? ? p[2] = "紅";
}
if(z[2] == '3') {
? ? p[2] = "黑";
}
if(z[2] == '4') {
? ? p[2] = "紅";
}
if(z[2] == '5') {
? ? p[2] = "紅";
}
if(z[2] == '0') {
? ? p[2] = "黃";
}
if(z[i] == '6') {
? ? ? ?p[2] = "紅";
}
if(z[i] == '7') {
? ? p[2] = "黑";
}
if(z[2] == '8') {
? ? p[2] = "紅";
}
if(z[2] == '9') {
? ? p[2] = "黑";
}
}
else {
z[2] -= 2;
if(z[2] == '8') {
p[2] = "黑";
}
if(z[2] == '9') {
p[2] = "紅";
}
}
temp1 = p[1];
p[1] = p[2];
p[2] = temp1;
fout << p[0] << p[1] << p[2] << p[3] << " ";
q[i] = *p;
if(isprime(a)) {
fout << "質(zhì)" << endl;
}
else {
fout << endl;
}
}
for(int i = 0;i < 1290;++i) {
while(true) {
string temp = q[i];
int r[1291];
int s[1291];
int sum = 0;
for(int j = 0;j < 1290;++j) {
r[j] = 0;
}
for(int j = 0;j < 1290;++j) {
s[j] = 0;
}
for(int j = 0;j < 1290;++j) {
if(q[j] == temp) {
++r[j];
}
}
for(int j = 0;j < 1291;++j) {
if(r[j] == 0) {
}
else {
sum += j;
}
}
for(int j = 0;j < 1291;++j) {
if(r[j] != 0) {
r[j] = sum-j;
}
}
for(int j = 0;j < 1291;++j) {
? ?if(r[j] != 0) {
? ? r[j] = rand()%r[j];
}
}
int count = 0;
for(int j = 0;j < 1291;++j) {
if(r[j] != 0) {
++count;
}
}
int min[100000];
for(int j = 0;j < 100000;++j) {
min[j] = 0;
}
int len = rand()%118;
for(int k = 0;k < count/len;++k) {
for(int j = 0, k = 0;j < 1291;++j) {
? ?if(r[j] > min[k]) {
? ?min[k] = r[j];
? ? }
? ?}
}
for(int j = 0;j < 1291;++j) {
for(int k = 0;min[k] != 0;++k) {
if(r[j] == min[k]) {
s[j] = -1;
}
}
}
for(int j = 0;j < 1291;++j) {
if(isprime(j)) {
if(s[j] == -1) {
s[j] += 1;
}
}
}
bool flag = false;
for(int j = 0;j < 1291;++j) {
if(s[j] != 0) {
flag = true;
}
}
if(flag) {
break;
? ?}
? ? }
}
fout.close();
fin.close();
return 0;}