题意

给定一个 n (1<=n<=1e12),试将其分解成 6 个质数之和的形式,如果可以分解,输出任意一种,否则输出IMPOSSIBLE。

思路

模拟赛的时候想的做法好像有点…
考虑到素数的密度是 logn,因此打算先找到一个比 n 小 的素数 m,且 n-m>=11,(因为题意谈到哥德巴赫猜想,一个大于11的数字最多可以写成6个质数之和,当然5个也可以),然后找到一个质数m之后,因此只需要把 n-m 分解成5个质数即可,所以打表10 - 500 ,把他们的分解都存了… 就可以过了。

然后补题的时候看见正解好像是哥德巴赫猜想…,原来哥德巴赫猜想复杂度这么低,如果是一个奇数,那么先分成 2 2 2 3 n-3,然后哥德巴赫猜想从1开始暴力判… 如果是一个偶数 先分解成 2 2 2 2 n-8 ,一样的暴力分解 n-8。
如下图代码

很难想象这样暴力居然不T 可能这就是哥德巴赫牛逼的地方…
但其实打表还是快。。。

然后代码中一些细节就是特判掉一些小的数字。大数判素数用Miller_Rabin。
over.

代码

#include<bits/stdc++.h>
using namespace std;
#define maxn 100005
#define maxm 1006
#define INF 0x3f3f3f3f
#define inc(i,l,r) for(int i=l;i<=r;i++)
#define dec(i,r,l) for(int i=r;i>=l;i--)
#define mem(a) memset(a,0,sizeof(a))
#define sqr(x) (x*x)
#define inf (ll)2e18+1
#define PI acos(-1)
//#define mod 1000000007
#define auto(i,x) for(int i=head[x];i;i=ed[i].nxt)
typedef long long ll;
ll read(){ll x=0,f=1ll;char ch=getchar();while(!isdigit(ch)){if(ch=='-')f=-1;ch=getchar();}while(isdigit(ch))x=x*10+ch-'0',ch=getchar();return f*x;
}
int T,flag,cnt,cas;
int prm[105],com[1005][6];
ll n;
const int S=8;
const int mod=1e9+7;
ll mul_mod(ll a,ll b,ll c){a%=c;b%=c;ll ret=0;ll temp=a;while(b){if(b&1){ret+=temp;if(ret>c)ret-=c;}temp<<=1;if(temp>c)temp-=c;b>>=1;}return ret;
}
ll pow_mod(ll a,ll n,ll mod){ll ret=1;ll temp=a%mod;while(n){if(n&1)ret=mul_mod(ret,temp,mod);temp=mul_mod(temp,temp,mod);n>>=1;}return ret;
}
bool check(ll a,ll n,ll x,ll t){ll ret=pow_mod(a,x,n);ll last=ret;for(int i=1;i<=t;++i){ret=mul_mod(ret,ret,n);if(ret==1&&last!=1&&last!=n-1)return true; // not primelast=ret;}if(ret!=1)return true; //primeelse return false;  // not prime
}
bool Miller_Rabin(ll n){if(n<2)return false;if(n==2)return true;if((n&1)==0)return false;ll x=n-1;ll t=0;while((n&1)==0){x>>=1;t++;}srand(time(NULL));for(int i=0;i<S;++i){ll a=rand()%(n-1)+1;if(check(a,n,x,t))return false;}return true;
}
ll cha;
void init(ll x)
{cha=0;ll now=x;while(now>=2){if(Miller_Rabin(now))if(x-now>=12){cha=x-now;break;}now--;}
}
int main(){T=read();//printf("-----\n");while(T--){n=read();printf("Case %d: ",++cas);if(n<=11)printf("IMPOSSIBLE\n");else if(n==12)printf("2 2 2 2 2 2\n");else if(n==13)printf("2 2 2 2 2 3\n");else{init(n);if(cha==12)printf("2 2 2 3 3 ");
if(cha==13)printf("2 2 2 2 5 ");
if(cha==14)printf("2 2 2 3 5 ");
if(cha==15)printf("2 2 2 2 7 ");
if(cha==16)printf("2 2 2 3 7 ");
if(cha==17)printf("2 2 3 3 7 ");
if(cha==18)printf("2 2 2 5 7 ");
if(cha==19)printf("2 2 2 2 11 ");
if(cha==20)printf("2 2 2 3 11 ");
if(cha==21)printf("2 2 2 2 13 ");
if(cha==22)printf("2 2 2 3 13 ");
if(cha==23)printf("2 2 3 3 13 ");
if(cha==24)printf("2 2 2 5 13 ");
if(cha==25)printf("2 2 2 2 17 ");
if(cha==26)printf("2 2 2 3 17 ");
if(cha==27)printf("2 2 2 2 19 ");
if(cha==28)printf("2 2 2 3 19 ");
if(cha==29)printf("2 2 3 3 19 ");
if(cha==30)printf("2 2 2 5 19 ");
if(cha==31)printf("2 2 2 2 23 ");
if(cha==32)printf("2 2 2 3 23 ");
if(cha==33)printf("2 2 3 3 23 ");
if(cha==34)printf("2 2 2 5 23 ");
if(cha==35)printf("2 2 3 5 23 ");
if(cha==36)printf("2 2 2 7 23 ");
if(cha==37)printf("2 2 2 2 29 ");
if(cha==38)printf("2 2 2 3 29 ");
if(cha==39)printf("2 2 2 2 31 ");
if(cha==40)printf("2 2 2 3 31 ");
if(cha==41)printf("2 2 3 3 31 ");
if(cha==42)printf("2 2 2 5 31 ");
if(cha==43)printf("2 2 3 5 31 ");
if(cha==44)printf("2 2 2 7 31 ");
if(cha==45)printf("2 2 2 2 37 ");
if(cha==46)printf("2 2 2 3 37 ");
if(cha==47)printf("2 2 3 3 37 ");
if(cha==48)printf("2 2 2 5 37 ");
if(cha==49)printf("2 2 2 2 41 ");
if(cha==50)printf("2 2 2 3 41 ");
if(cha==51)printf("2 2 2 2 43 ");
if(cha==52)printf("2 2 2 3 43 ");
if(cha==53)printf("2 2 3 3 43 ");
if(cha==54)printf("2 2 2 5 43 ");
if(cha==55)printf("2 2 2 2 47 ");
if(cha==56)printf("2 2 2 3 47 ");
if(cha==57)printf("2 2 3 3 47 ");
if(cha==58)printf("2 2 2 5 47 ");
if(cha==59)printf("2 2 3 5 47 ");
if(cha==60)printf("2 2 2 7 47 ");
if(cha==61)printf("2 2 2 2 53 ");
if(cha==62)printf("2 2 2 3 53 ");
if(cha==63)printf("2 2 3 3 53 ");
if(cha==64)printf("2 2 2 5 53 ");
if(cha==65)printf("2 2 3 5 53 ");
if(cha==66)printf("2 2 2 7 53 ");
if(cha==67)printf("2 2 2 2 59 ");
if(cha==68)printf("2 2 2 3 59 ");
if(cha==69)printf("2 2 2 2 61 ");
if(cha==70)printf("2 2 2 3 61 ");
if(cha==71)printf("2 2 3 3 61 ");
if(cha==72)printf("2 2 2 5 61 ");
if(cha==73)printf("2 2 3 5 61 ");
if(cha==74)printf("2 2 2 7 61 ");
if(cha==75)printf("2 2 2 2 67 ");
if(cha==76)printf("2 2 2 3 67 ");
if(cha==77)printf("2 2 3 3 67 ");
if(cha==78)printf("2 2 2 5 67 ");
if(cha==79)printf("2 2 2 2 71 ");
if(cha==80)printf("2 2 2 3 71 ");
if(cha==81)printf("2 2 2 2 73 ");
if(cha==82)printf("2 2 2 3 73 ");
if(cha==83)printf("2 2 3 3 73 ");
if(cha==84)printf("2 2 2 5 73 ");
if(cha==85)printf("2 2 3 5 73 ");
if(cha==86)printf("2 2 2 7 73 ");
if(cha==87)printf("2 2 2 2 79 ");
if(cha==88)printf("2 2 2 3 79 ");
if(cha==89)printf("2 2 3 3 79 ");
if(cha==90)printf("2 2 2 5 79 ");
if(cha==91)printf("2 2 2 2 83 ");
if(cha==92)printf("2 2 2 3 83 ");
if(cha==93)printf("2 2 3 3 83 ");
if(cha==94)printf("2 2 2 5 83 ");
if(cha==95)printf("2 2 3 5 83 ");
if(cha==96)printf("2 2 2 7 83 ");
if(cha==97)printf("2 2 2 2 89 ");
if(cha==98)printf("2 2 2 3 89 ");
if(cha==99)printf("2 2 3 3 89 ");
if(cha==100)printf("2 2 2 5 89 ");
if(cha==101)printf("2 2 3 5 89 ");
if(cha==102)printf("2 2 2 7 89 ");
if(cha==103)printf("2 2 3 7 89 ");
if(cha==104)printf("2 2 2 19 79 ");
if(cha==105)printf("2 2 2 2 97 ");
if(cha==106)printf("2 2 2 3 97 ");
if(cha==107)printf("2 2 3 3 97 ");
if(cha==108)printf("2 2 2 5 97 ");
if(cha==109)printf("2 2 2 2 101 ");
if(cha==110)printf("2 2 2 3 101 ");
if(cha==111)printf("2 2 2 2 103 ");
if(cha==112)printf("2 2 2 3 103 ");
if(cha==113)printf("2 2 3 3 103 ");
if(cha==114)printf("2 2 2 5 103 ");
if(cha==115)printf("2 2 2 2 107 ");
if(cha==116)printf("2 2 2 3 107 ");
if(cha==117)printf("2 2 2 2 109 ");
if(cha==118)printf("2 2 2 3 109 ");
if(cha==119)printf("2 2 3 3 109 ");
if(cha==120)printf("2 2 2 5 109 ");
if(cha==121)printf("2 2 2 2 113 ");
if(cha==122)printf("2 2 2 3 113 ");
if(cha==123)printf("2 2 3 3 113 ");
if(cha==124)printf("2 2 2 5 113 ");
if(cha==125)printf("2 2 3 5 113 ");
if(cha==126)printf("2 2 2 7 113 ");
if(cha==127)printf("2 2 3 7 113 ");
if(cha==128)printf("2 2 2 13 109 ");
if(cha==129)printf("2 2 3 13 109 ");
if(cha==130)printf("2 2 2 11 113 ");
if(cha==131)printf("2 2 3 11 113 ");
if(cha==132)printf("2 2 2 13 113 ");
if(cha==133)printf("2 2 3 13 113 ");
if(cha==134)printf("2 2 2 19 109 ");
if(cha==135)printf("2 2 2 2 127 ");
if(cha==136)printf("2 2 2 3 127 ");
if(cha==137)printf("2 2 3 3 127 ");
if(cha==138)printf("2 2 2 5 127 ");
if(cha==139)printf("2 2 2 2 131 ");
if(cha==140)printf("2 2 2 3 131 ");
if(cha==141)printf("2 2 3 3 131 ");
if(cha==142)printf("2 2 2 5 131 ");
if(cha==143)printf("2 2 3 5 131 ");
if(cha==144)printf("2 2 2 7 131 ");
if(cha==145)printf("2 2 2 2 137 ");
if(cha==146)printf("2 2 2 3 137 ");
if(cha==147)printf("2 2 2 2 139 ");
if(cha==148)printf("2 2 2 3 139 ");
if(cha==149)printf("2 2 3 3 139 ");
if(cha==150)printf("2 2 2 5 139 ");
if(cha==151)printf("2 2 3 5 139 ");
if(cha==152)printf("2 2 2 7 139 ");
if(cha==153)printf("2 2 3 7 139 ");
if(cha==154)printf("2 2 2 11 137 ");
if(cha==155)printf("2 2 3 11 137 ");
if(cha==156)printf("2 2 2 11 139 ");
if(cha==157)printf("2 2 2 2 149 ");
if(cha==158)printf("2 2 2 3 149 ");
if(cha==159)printf("2 2 2 2 151 ");
if(cha==160)printf("2 2 2 3 151 ");
if(cha==161)printf("2 2 3 3 151 ");
if(cha==162)printf("2 2 2 5 151 ");
if(cha==163)printf("2 2 3 5 151 ");
if(cha==164)printf("2 2 2 7 151 ");
if(cha==165)printf("2 2 2 2 157 ");
if(cha==166)printf("2 2 2 3 157 ");
if(cha==167)printf("2 2 3 3 157 ");
if(cha==168)printf("2 2 2 5 157 ");
if(cha==169)printf("2 2 3 5 157 ");
if(cha==170)printf("2 2 2 7 157 ");
if(cha==171)printf("2 2 2 2 163 ");
if(cha==172)printf("2 2 2 3 163 ");
if(cha==173)printf("2 2 3 3 163 ");
if(cha==174)printf("2 2 2 5 163 ");
if(cha==175)printf("2 2 2 2 167 ");
if(cha==176)printf("2 2 2 3 167 ");
if(cha==177)printf("2 2 3 3 167 ");
if(cha==178)printf("2 2 2 5 167 ");
if(cha==179)printf("2 2 3 5 167 ");
if(cha==180)printf("2 2 2 7 167 ");
if(cha==181)printf("2 2 2 2 173 ");
if(cha==182)printf("2 2 2 3 173 ");
if(cha==183)printf("2 2 3 3 173 ");
if(cha==184)printf("2 2 2 5 173 ");
if(cha==185)printf("2 2 3 5 173 ");
if(cha==186)printf("2 2 2 7 173 ");
if(cha==187)printf("2 2 2 2 179 ");
if(cha==188)printf("2 2 2 3 179 ");
if(cha==189)printf("2 2 2 2 181 ");
if(cha==190)printf("2 2 2 3 181 ");
if(cha==191)printf("2 2 3 3 181 ");
if(cha==192)printf("2 2 2 5 181 ");
if(cha==193)printf("2 2 3 5 181 ");
if(cha==194)printf("2 2 2 7 181 ");
if(cha==195)printf("2 2 3 7 181 ");
if(cha==196)printf("2 2 2 11 179 ");
if(cha==197)printf("2 2 3 11 179 ");
if(cha==198)printf("2 2 2 11 181 ");
if(cha==199)printf("2 2 2 2 191 ");
if(cha==200)printf("2 2 2 3 191 ");
if(cha==201)printf("2 2 2 2 193 ");
if(cha==202)printf("2 2 2 3 193 ");
if(cha==203)printf("2 2 3 3 193 ");
if(cha==204)printf("2 2 2 5 193 ");
if(cha==205)printf("2 2 2 2 197 ");
if(cha==206)printf("2 2 2 3 197 ");
if(cha==207)printf("2 2 2 2 199 ");
if(cha==208)printf("2 2 2 3 199 ");
if(cha==209)printf("2 2 3 3 199 ");
if(cha==210)printf("2 2 2 5 199 ");
if(cha==211)printf("2 2 3 5 199 ");
if(cha==212)printf("2 2 2 7 199 ");
if(cha==213)printf("2 2 3 7 199 ");
if(cha==214)printf("2 2 2 11 197 ");
if(cha==215)printf("2 2 3 11 197 ");
if(cha==216)printf("2 2 2 11 199 ");
if(cha==217)printf("2 2 3 11 199 ");
if(cha==218)printf("2 2 2 13 199 ");
if(cha==219)printf("2 2 3 13 199 ");
if(cha==220)printf("2 2 2 17 197 ");
if(cha==221)printf("2 2 3 17 197 ");
if(cha==222)printf("2 2 2 17 199 ");
if(cha==223)printf("2 2 3 17 199 ");
if(cha==224)printf("2 2 2 19 199 ");
if(cha==225)printf("2 2 3 19 199 ");
if(cha==226)printf("2 2 2 23 197 ");
if(cha==227)printf("2 2 3 23 197 ");
if(cha==228)printf("2 2 2 23 199 ");
if(cha==229)printf("2 2 3 23 199 ");
if(cha==230)printf("2 2 2 31 193 ");
if(cha==231)printf("2 2 3 31 193 ");
if(cha==232)printf("2 2 2 29 197 ");
if(cha==233)printf("2 2 3 29 197 ");
if(cha==234)printf("2 2 2 29 199 ");
if(cha==235)printf("2 2 3 29 199 ");
if(cha==236)printf("2 2 2 31 199 ");
if(cha==237)printf("2 2 3 31 199 ");
if(cha==238)printf("2 2 2 41 191 ");
if(cha==239)printf("2 2 3 41 191 ");
if(cha==240)printf("2 2 2 37 197 ");
if(cha==241)printf("2 2 3 37 197 ");
if(cha==242)printf("2 2 2 37 199 ");
if(cha==243)printf("2 2 3 37 199 ");
if(cha==244)printf("2 2 2 41 197 ");
if(cha==245)printf("2 2 3 41 197 ");
if(cha==246)printf("2 2 2 41 199 ");
if(cha==247)printf("2 2 3 41 199 ");
if(cha==248)printf("2 2 2 43 199 ");
if(cha==249)printf("2 2 3 43 199 ");
if(cha==250)printf("2 2 2 47 197 ");
if(cha==251)printf("2 2 3 47 197 ");
if(cha==252)printf("2 2 2 47 199 ");
if(cha==253)printf("2 2 3 47 199 ");
if(cha==254)printf("2 2 2 67 181 ");
if(cha==255)printf("2 2 3 67 181 ");
if(cha==256)printf("2 2 2 53 197 ");
if(cha==257)printf("2 2 3 53 197 ");
if(cha==258)printf("2 2 2 53 199 ");
if(cha==259)printf("2 2 3 53 199 ");
if(cha==260)printf("2 2 2 61 193 ");
if(cha==261)printf("2 2 3 61 193 ");
if(cha==262)printf("2 2 2 59 197 ");
if(cha==263)printf("2 2 3 59 197 ");
if(cha==264)printf("2 2 2 59 199 ");
if(cha==265)printf("2 2 3 59 199 ");
if(cha==266)printf("2 2 2 61 199 ");
if(cha==267)printf("2 2 3 61 199 ");
if(cha==268)printf("2 2 2 71 191 ");
if(cha==269)printf("2 2 3 71 191 ");
if(cha==270)printf("2 2 2 67 197 ");
if(cha==271)printf("2 2 3 67 197 ");
if(cha==272)printf("2 2 2 67 199 ");
if(cha==273)printf("2 2 3 67 199 ");
if(cha==274)printf("2 2 2 71 197 ");
if(cha==275)printf("2 2 3 71 197 ");
if(cha==276)printf("2 2 2 71 199 ");
if(cha==277)printf("2 2 3 71 199 ");
if(cha==278)printf("2 2 2 73 199 ");
if(cha==279)printf("2 2 3 73 199 ");
if(cha==280)printf("2 2 2 83 191 ");
if(cha==281)printf("2 2 3 83 191 ");
if(cha==282)printf("2 2 2 79 197 ");
if(cha==283)printf("2 2 3 79 197 ");
if(cha==284)printf("2 2 2 79 199 ");
if(cha==285)printf("2 2 3 79 199 ");
if(cha==286)printf("2 2 2 83 197 ");
if(cha==287)printf("2 2 3 83 197 ");
if(cha==288)printf("2 2 2 83 199 ");
if(cha==289)printf("2 2 3 83 199 ");
if(cha==290)printf("2 2 2 103 181 ");
if(cha==291)printf("2 2 3 103 181 ");
if(cha==292)printf("2 2 2 89 197 ");
if(cha==293)printf("2 2 3 89 197 ");
if(cha==294)printf("2 2 2 89 199 ");
if(cha==295)printf("2 2 3 89 199 ");
if(cha==296)printf("2 2 2 97 193 ");
if(cha==297)printf("2 2 3 97 193 ");
if(cha==298)printf("2 2 2 101 191 ");
if(cha==299)printf("2 2 3 101 191 ");
if(cha==300)printf("2 2 2 97 197 ");
if(cha==301)printf("2 2 3 97 197 ");
if(cha==302)printf("2 2 2 97 199 ");
if(cha==303)printf("2 2 3 97 199 ");
if(cha==304)printf("2 2 2 101 197 ");
if(cha==305)printf("2 2 3 101 197 ");
if(cha==306)printf("2 2 2 101 199 ");
if(cha==307)printf("2 2 3 101 199 ");
if(cha==308)printf("2 2 2 103 199 ");
if(cha==309)printf("2 2 3 103 199 ");
if(cha==310)printf("2 2 2 107 197 ");
if(cha==311)printf("2 2 3 107 197 ");
if(cha==312)printf("2 2 2 107 199 ");
if(cha==313)printf("2 2 3 107 199 ");
if(cha==314)printf("2 2 2 109 199 ");
if(cha==315)printf("2 2 3 109 199 ");
if(cha==316)printf("2 2 2 113 197 ");
if(cha==317)printf("2 2 3 113 197 ");
if(cha==318)printf("2 2 2 113 199 ");
if(cha==319)printf("2 2 3 113 199 ");
if(cha==320)printf("2 2 2 151 163 ");
if(cha==321)printf("2 2 3 151 163 ");
if(cha==322)printf("2 2 2 137 179 ");
if(cha==323)printf("2 2 3 137 179 ");
if(cha==324)printf("2 2 2 127 191 ");
if(cha==325)printf("2 2 3 127 191 ");
if(cha==326)printf("2 2 2 127 193 ");
if(cha==327)printf("2 2 3 127 193 ");
if(cha==328)printf("2 2 2 131 191 ");
if(cha==329)printf("2 2 3 131 191 ");
if(cha==330)printf("2 2 2 127 197 ");
if(cha==331)printf("2 2 3 127 197 ");
if(cha==332)printf("2 2 2 127 199 ");
if(cha==333)printf("2 2 3 127 199 ");
if(cha==334)printf("2 2 2 131 197 ");
if(cha==335)printf("2 2 3 131 197 ");
if(cha==336)printf("2 2 2 131 199 ");
if(cha==337)printf("2 2 3 131 199 ");
if(cha==338)printf("2 2 2 139 193 ");
if(cha==339)printf("2 2 3 139 193 ");
if(cha==340)printf("2 2 2 137 197 ");
if(cha==341)printf("2 2 3 137 197 ");
if(cha==342)printf("2 2 2 137 199 ");
if(cha==343)printf("2 2 3 137 199 ");
if(cha==344)printf("2 2 2 139 199 ");
if(cha==345)printf("2 2 3 139 199 ");
if(cha==346)printf("2 2 2 149 191 ");
if(cha==347)printf("2 2 3 149 191 ");
if(cha==348)printf("2 2 2 149 193 ");
if(cha==349)printf("2 2 3 149 193 ");
if(cha==350)printf("2 2 2 151 193 ");
if(cha==351)printf("2 2 3 151 193 ");
if(cha==352)printf("2 2 2 149 197 ");
if(cha==353)printf("2 2 3 149 197 ");
if(cha==354)printf("2 2 2 149 199 ");
if(cha==355)printf("2 2 3 149 199 ");
if(cha==356)printf("2 2 2 151 199 ");
if(cha==357)printf("2 2 3 151 199 ");
if(cha==358)printf("2 2 2 173 179 ");
if(cha==359)printf("2 2 3 173 179 ");
if(cha==360)printf("2 2 2 157 197 ");
if(cha==361)printf("2 2 3 157 197 ");
if(cha==362)printf("2 2 2 157 199 ");
if(cha==363)printf("2 2 3 157 199 ");
if(cha==364)printf("2 2 2 167 191 ");
if(cha==365)printf("2 2 3 167 191 ");
if(cha==366)printf("2 2 2 163 197 ");
if(cha==367)printf("2 2 3 163 197 ");
if(cha==368)printf("2 2 2 163 199 ");
if(cha==369)printf("2 2 3 163 199 ");
if(cha==370)printf("2 2 2 167 197 ");
if(cha==371)printf("2 2 3 167 197 ");
if(cha==372)printf("2 2 2 167 199 ");
if(cha==373)printf("2 2 3 167 199 ");
if(cha==374)printf("2 3 3 167 199 ");
if(cha==375)printf("2 2 5 167 199 ");
if(cha==376)printf("2 2 2 173 197 ");
if(cha==377)printf("2 2 3 173 197 ");
if(cha==378)printf("2 2 2 173 199 ");
if(cha==379)printf("2 2 3 173 199 ");
if(cha==380)printf("2 2 2 181 193 ");
if(cha==381)printf("2 2 3 181 193 ");
if(cha==382)printf("2 2 2 179 197 ");
if(cha==383)printf("2 2 3 179 197 ");
if(cha==384)printf("2 2 2 179 199 ");
if(cha==385)printf("2 2 3 179 199 ");
if(cha==386)printf("2 2 2 181 199 ");
if(cha==387)printf("2 2 3 181 199 ");
if(cha==388)printf("2 2 2 191 191 ");
if(cha==389)printf("2 2 3 191 191 ");
if(cha==390)printf("2 2 2 191 193 ");
if(cha==391)printf("2 2 3 191 193 ");
if(cha==392)printf("2 2 2 193 193 ");
if(cha==393)printf("2 2 3 193 193 ");
if(cha==394)printf("2 2 2 191 197 ");
if(cha==395)printf("2 2 3 191 197 ");
if(cha==396)printf("2 2 2 191 199 ");
if(cha==397)printf("2 2 3 191 199 ");
if(cha==398)printf("2 2 2 193 199 ");
if(cha==399)printf("2 2 3 193 199 ");
if(cha==400)printf("2 2 2 197 197 ");
if(cha==401)printf("2 2 3 197 197 ");
if(cha==402)printf("2 2 2 197 199 ");
if(cha==403)printf("2 2 3 197 199 ");
if(cha==404)printf("2 2 2 199 199 ");
if(cha==405)printf("2 2 3 199 199 ");
if(cha==406)printf("2 3 3 199 199 ");
if(cha==407)printf("2 2 5 199 199 ");
if(cha==408)printf("2 3 5 199 199 ");
if(cha==409)printf("2 2 7 199 199 ");
if(cha==410)printf("2 3 7 199 199 ");
if(cha==411)printf("2 2 11 197 199 ");
if(cha==412)printf("2 3 11 197 199 ");
if(cha==413)printf("2 2 11 199 199 ");
if(cha==414)printf("2 3 11 199 199 ");
if(cha==415)printf("2 2 13 199 199 ");
if(cha==416)printf("2 3 13 199 199 ");
if(cha==417)printf("2 2 17 197 199 ");
if(cha==418)printf("2 3 17 197 199 ");
if(cha==419)printf("2 2 17 199 199 ");
if(cha==420)printf("2 3 17 199 199 ");
if(cha==421)printf("2 2 19 199 199 ");
if(cha==422)printf("2 3 19 199 199 ");
if(cha==423)printf("2 2 23 197 199 ");
if(cha==424)printf("2 3 23 197 199 ");
if(cha==425)printf("2 2 23 199 199 ");
if(cha==426)printf("2 3 23 199 199 ");
if(cha==427)printf("2 2 29 197 197 ");
if(cha==428)printf("2 3 29 197 197 ");
if(cha==429)printf("2 2 29 197 199 ");
if(cha==430)printf("2 3 29 197 199 ");
if(cha==431)printf("2 2 29 199 199 ");
if(cha==432)printf("2 3 29 199 199 ");
if(cha==433)printf("2 2 31 199 199 ");
if(cha==434)printf("2 3 31 199 199 ");
if(cha==435)printf("2 2 37 197 197 ");
if(cha==436)printf("2 3 37 197 197 ");
if(cha==437)printf("2 2 37 197 199 ");
if(cha==438)printf("2 3 37 197 199 ");
if(cha==439)printf("2 2 37 199 199 ");
if(cha==440)printf("2 3 37 199 199 ");
if(cha==441)printf("2 2 41 197 199 ");
if(cha==442)printf("2 3 41 197 199 ");
if(cha==443)printf("2 2 41 199 199 ");
if(cha==444)printf("2 3 41 199 199 ");
if(cha==445)printf("2 2 43 199 199 ");
if(cha==446)printf("2 3 43 199 199 ");
if(cha==447)printf("2 2 47 197 199 ");
if(cha==448)printf("2 3 47 197 199 ");
if(cha==449)printf("2 2 47 199 199 ");
if(cha==450)printf("2 3 47 199 199 ");
if(cha==451)printf("2 2 53 197 197 ");
if(cha==452)printf("2 3 53 197 197 ");
if(cha==453)printf("2 2 53 197 199 ");
if(cha==454)printf("2 3 53 197 199 ");
if(cha==455)printf("2 2 53 199 199 ");
if(cha==456)printf("2 3 53 199 199 ");
if(cha==457)printf("2 2 59 197 197 ");
if(cha==458)printf("2 3 59 197 197 ");
if(cha==459)printf("2 2 59 197 199 ");
if(cha==460)printf("2 3 59 197 199 ");
if(cha==461)printf("2 2 59 199 199 ");
if(cha==462)printf("2 3 59 199 199 ");
if(cha==463)printf("2 2 61 199 199 ");
if(cha==464)printf("2 3 61 199 199 ");
if(cha==465)printf("2 2 67 197 197 ");
if(cha==466)printf("2 3 67 197 197 ");
if(cha==467)printf("2 2 67 197 199 ");
if(cha==468)printf("2 3 67 197 199 ");
if(cha==469)printf("2 2 67 199 199 ");
if(cha==470)printf("2 3 67 199 199 ");
if(cha==471)printf("2 2 71 197 199 ");
if(cha==472)printf("2 3 71 197 199 ");
if(cha==473)printf("2 2 71 199 199 ");
if(cha==474)printf("2 3 71 199 199 ");
if(cha==475)printf("2 2 73 199 199 ");
if(cha==476)printf("2 3 73 199 199 ");
if(cha==477)printf("2 2 79 197 197 ");
if(cha==478)printf("2 3 79 197 197 ");
if(cha==479)printf("2 2 79 197 199 ");
if(cha==480)printf("2 3 79 197 199 ");
if(cha==481)printf("2 2 79 199 199 ");
if(cha==482)printf("2 3 79 199 199 ");
if(cha==483)printf("2 2 83 197 199 ");
if(cha==484)printf("2 3 83 197 199 ");
if(cha==485)printf("2 2 83 199 199 ");
if(cha==486)printf("2 3 83 199 199 ");
if(cha==487)printf("2 2 89 197 197 ");
if(cha==488)printf("2 3 89 197 197 ");
if(cha==489)printf("2 2 89 197 199 ");
if(cha==490)printf("2 3 89 197 199 ");
if(cha==491)printf("2 2 89 199 199 ");
if(cha==492)printf("2 3 89 199 199 ");
if(cha==493)printf("2 2 97 193 199 ");
if(cha==494)printf("2 3 97 193 199 ");
if(cha==495)printf("2 2 97 197 197 ");
if(cha==496)printf("2 3 97 197 197 ");
if(cha==497)printf("2 2 97 197 199 ");
if(cha==498)printf("2 3 97 197 199 ");
if(cha==499)printf("2 2 97 199 199 ");
if(cha==500)printf("2 3 97 199 199 ");printf("%lld\n",n-cha);}}return 0;
}

Gym 102055L Ultra Weak Goldbach's Conjecture (素数密度+打表/哥德巴赫猜想)相关推荐

  1. LightOJ 1259 Goldbach`s Conjecture 素数打表

    题目大意:求讲一个整数n分解为两个素数的方案数. 题目思路:素数打表,后遍历 1-n/2,寻找方案数,需要注意的是:C/C++中 bool类型占用一个字节,int类型占用4个字节,在素数打表中采用bo ...

  2. 哥德巴赫猜想c语言 思路,01-哥德巴赫猜想(Goldbach's Conjecture)--(C语言)

    goldbach-partitions-of-the-even.png 前言 哥德巴赫猜想是(Goldbach's Conjecture)是数论中存在最久的未解问题之一,是一个伟大的世界性的数学猜想, ...

  3. R代码验证1000以内的哥德巴赫猜想——①求素数②偶数分解为两质数之和

    哥德巴赫猜想提出: 任一个大于2的偶数,都可以表示为两个素数之和. 根据哥德巴赫猜想,本文运用R进行验证. 判断一正数是否是素数: 求出100以内的所有素数: 对任何一个大于2 的偶数,求出一对素数, ...

  4. python123输出N以内的所有素数哥德巴赫猜想扑克牌游戏

    描述‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬ ...

  5. poj 2262 Goldbach's Conjecture(筛素数)

    2018-5-23 验证哥德巴赫猜想,直接将素数全部筛出来,然后从小到大枚举即可,找到的第一个满足条件的肯定就是差值最大的即满足题意的. 普通筛素数: #include<iostream> ...

  6. Goldbach`s Conjecture(数论)素数筛

    题目:https://vjudge.net/contest/242286#problem/A Goldbach's conjecture is one of the oldest unsolved p ...

  7. 【POJ - 2262】Goldbach's Conjecture (数论,哥德巴赫猜想,知识点结论)

    题干: In 1742, Christian Goldbach, a German amateur mathematician, sent a letter to Leonhard Euler in ...

  8. NUC1090 Goldbach's Conjecture【哥德巴赫猜想 】

    Goldbach's Conjecture 时间限制: 1000ms 内存限制: 65536KB 问题描述 In 1742, Christian Goldbach, a German amateur ...

  9. Goldbach's Conjecture

    题目描述 原题来自:Ulm Local,题面详见:POJ 2262 哥德巴赫猜想:任何大于 4 的偶数都可以拆成两个奇素数之和. 比如: 8=3+5 20=3+17=7+13 42=5+37=11+3 ...

最新文章

  1. 面向切面(AOP)之Spring接口方式 schema配置方式 aspectj注解方式
  2. update yum 到指定版本_yum语法及常用命令汇总
  3. 【Python】nltk库使用报错之punkt安装
  4. hive币2021年预计涨到多少_星时代云播|IPFS/Filecoin的价值被严重低估, FIL能不能涨到300美金?...
  5. CSS语法规范(CSS、HTML)
  6. 澳大利亚:令人钦羡的高福利国家 - 老牛的日志 - 网易博客
  7. 导航栏的HTML的布局方式
  8. conda install 安装慢,或者直接卡死,这么解决
  9. GIS数据漫谈(六)— 投影坐标系统
  10. oracle库存计算公式,问安全库存量计算公式
  11. 修改war包中数据库配置信息
  12. 科学与社会 ——摘自《爱因斯坦晚年文集》
  13. Windows、Mac环境下IDEA Maven配置和一些错误汇总(修正) tips:查找方便,仅作参考
  14. python 画图设置中文字体
  15. 【转载】专访罗升阳:老罗的Android之旅
  16. mysql统计去重记录数量_MySQL分组后,如何统计记录条数
  17. 玩转华为ENSP模拟器系列 | 配置OSPF多进程
  18. springcloud(瞿永超著)学习记录(更新中)
  19. 小程序 wxml里时间戳转日期
  20. java麻将软件_dnf徽章加什么

热门文章

  1. (转)段永平:投资不怕集中,不是一般的集中而是绝对的集中
  2. 记一次惨痛的拆机记录
  3. 流量劫持(上):流量劫持是如何产生的
  4. (附源码)ssm学生考勤管理系统 毕业设计 260952
  5. 543、RabbitMQ详细入门教程系列 -【Confirm与Mandatory】 2022.09.05
  6. 免费虚拟现实运用开发平台VR Juggler
  7. vs调试nuget包_高冷?孩子气?醋包?那不得是分对象啊
  8. 【HTML/CSS】弹性盒子 flex布局制作一个动画卡片
  9. C++学习之路——Chapter 2:开始学习C++
  10. java中什么是装饰者模式? 装饰者模式的使用!!