为什么错了?
查看原帖
为什么错了?
222057
joy2010WonderMaker楼主2021/1/2 11:28
#include<bits/stdc++.h>
using namespace std;
int main(){
    int n,k;
    cin>>n>>k;
    int x[n];
    for(int i=0;i<n;i++){
        cin>>x[i];
    }
    int temp,ans=0;
    if(k==1){
    	for(int i=0;i<n;i++){
            for(int u=0;u*u<=x[i];u++){
            	if(i%u==0){
                    break;
                }
                if(u*u+u>temp){
                    ans++;
                }
			}
        }
	}else if(k==2){
		for(int i=0;i<n;i++){
            for(int j=i+1;j<n;j++){
                temp=x[i]+x[j];
                if(temp==2){
                	ans++;
                	continue;
				} 
                for(int u=2;u*u<=temp;u++){
                    if(temp%u==0){
                        break;
                    }
                    if(u*u+u>temp){
                        ans++;
                    }
                }
            }
        }
	}else if(k==3){
		for(int i=0;i<n-2;i++){
            for(int j=i+1;j<n-1;j++){
                for(int c=j+1;c<n;c++){
                	temp=x[i]+x[j]+x[c];
                    for(int u=2;u*u<=temp;u++){
                        if(temp%u==0){
                            break;
                        }
                        if(u*u+u>temp){
                            ans++;
                        }
                    }
				}
            }
        }
	}else if(k==4){
		for(int i=0;i<n-3;i++){
			for(int j=i+1;j<n-2;j++){
                for(int c=j+1;c<n-1;c++){
                    for(int s=c+1;s<n;s++){
                	    temp=x[i]+x[j]+x[c]+x[s];
                        for(int u=2;u*u<=temp;u++){
                            if(temp%u==0){
                                break;
                            }
                            if(u*u+u>temp){
                            ans++;
                            }
                        }
				    }
                }
            }
		}
	}else if(k==5){
		for(int i=0;i<n-4;i++){
			for(int j=i+1;j<n-3;j++){
                for(int c=j+1;c<n-2;c++){
                    for(int s=c+1;s<n-1;s++){
                	    for(int y=s+1;y<n;y++){
                	    	temp=x[i]+x[j]+x[c]+x[s]+x[y];
                            for(int u=2;u*u<=temp;u++){
                                if(temp%u==0){
                                    break;
                                }
                                if(u*u+u>temp){
                                ans++;
                                }
                            }
						}
				    }
                }
            }
		}
	}else if(k==6){
		for(int i=0;i<n-k+1;i++){
			for(int j=i+1;j<n-k+2;j++){
                for(int c=j+1;c<n-k+3;c++){
                    for(int s=c+1;s<n-k+4;s++){
                	    for(int y=s+1;y<n-k+5;y++){
                	    	for(int t=y+1;t<n-k+6;t++){
                	    		temp=x[i]+x[j]+x[c]+x[s]+x[y]+x[t];
                                for(int u=2;u*u<=temp;u++){
                                    if(temp%u==0){
                                        break;
                                    }
                                    if(u*u+u>temp){
                                        ans++;
                                    }
                                }
							}
						}
				    }
                }
            }
		}
	}else if(k==7){
		for(int i=0;i<n-k+1;i++){
			for(int j=i+1;j<n-k+2;j++){
                for(int c=j+1;c<n-k+3;c++){
                    for(int s=c+1;s<n-k+4;s++){
                	    for(int y=s+1;y<n-k+5;y++){
                	    	for(int t=y+1;t<n-k+6;t++){
                	    		for(int r=t+1;r<n-k+7;r++){
                	    			temp=x[i]+x[j]+x[c]+x[s]+x[y]+x[t]+x[r];
                                    for(int u=2;u*u<=temp;u++){
                                        if(temp%u==0){
                                            break;
                                        }
                                        if(u*u+u>temp){
                                            ans++;
                                        }
                                    }
								}
							}
						}
				    }
                }
            }
		}
	}else if(k==8){
		for(int i=0;i<n-k+1;i++){
			for(int j=i+1;j<n-k+2;j++){
                for(int c=j+1;c<n-k+3;c++){
                    for(int s=c+1;s<n-k+4;s++){
                	    for(int y=s+1;y<n-k+5;y++){
                	    	for(int t=y+1;t<n-k+6;t++){
                	    		for(int r=t+1;r<n-k+7;r++){
                	    			for(int e=r+1;e<n-k+8;e++){
                	    				temp=x[i]+x[j]+x[c]+x[s]+x[y]+x[t]+x[r]+x[e];
                                        for(int u=2;u*u<=temp;u++){
                                            if(temp%u==0){
                                                break;
                                            }
                                            if(u*u+u>temp){
                                                ans++;
                                            }
                                        }
							        }
								}
							}
						}
				    }
                }
            }
		}
	}else if(k==9){
		for(int i=0;i<n-k+1;i++){
			for(int j=i+1;j<n-k+2;j++){
                for(int c=j+1;c<n-k+3;c++){
                    for(int s=c+1;s<n-k+4;s++){
                	    for(int y=s+1;y<n-k+5;y++){
                	    	for(int t=y+1;t<n-k+6;t++){
                	    		for(int r=t+1;r<n-k+7;r++){
                	    			for(int e=r+1;e<n-k+8;e++){
                	    				for(int o=e+1;o<n-k+9;o++){
                	    					temp=x[i]+x[j]+x[c]+x[s]+x[y]+x[t]+x[r]+x[e]+x[o];
                                            for(int u=2;u*u<=temp;u++){
                                                if(temp%u==0){
                                                    break;
                                                }
                                                if(u*u+u>temp){
                                                    ans++;
                                                }
                                            }
										}
							        }
								}
							}
						}
				    }
                }
            }
		}
	}else if(k==10){
		for(int i=0;i<n-k+1;i++){
			for(int j=i+1;j<n-k+2;j++){
                for(int c=j+1;c<n-k+3;c++){
                    for(int s=c+1;s<n-k+4;s++){
                	    for(int y=s+1;y<n-k+5;y++){
                	    	for(int t=y+1;t<n-k+6;t++){
                	    		for(int r=t+1;r<n-k+7;r++){
                	    			for(int e=r+1;e<n-k+8;e++){
                	    				for(int o=e+1;o<n-k+9;o++){
                	    					for(int h=o+1;h<n-k+10;h++){
                	    						temp=x[i]+x[j]+x[c]+x[s]+x[y]+x[t]+x[r]+x[e]+x[o];
                                                for(int u=2;u*u<=temp;u++){
                                                    if(temp%u==0){
                                                        break;
                                                    }
                                                    if(u*u+u>temp){
                                                        ans++;
                                                    }
                                                }
											}
										}
							        }
								}
							}
						}
				    }
                }
            }
		}
	}else if(k==11){
		for(int i=0;i<n-k+1;i++){
			for(int j=i+1;j<n-k+2;j++){
                for(int c=c+1;c<n-k+3;c++){
                    for(int s=c+1;s<n-k+4;s++){
                	    for(int y=s+1;y<n-k+5;y++){
                	    	for(int t=y+1;t<n-k+6;t++){
                	    		for(int r=t+1;r<n-k+7;r++){
                	    			for(int e=r+1;e<n-k+8;e++){
                	    				for(int o=e+1;o<n-k+9;o++){
                	    					for(int h=o+1;h<n-k+10;h++){
                	    						for(int z=h+1;z<n-k+11;z++){
                	    							temp=x[i]+x[j]+x[c]+x[s]+x[y]+x[t]+x[r]+x[e]+x[o]+x[z];
                                                    for(int u=2;u*u<=temp;u++){
                                                        if(temp%u==0){
                                                            break;
                                                        }
                                                        if(u*u+u>temp){
                                                            ans++;
                                                        }
                                                    }
												}
											}
										}
							        }
								}
							}
						}
				    }
                }
            }
		}
	}else if(k==12){
		for(int i=0;i<n-k+1;i++){
			for(int j=i+1;j<n-k+2;j++){
                for(int c=j+1;c<n-k+3;c++){
                    for(int s=c+1;s<n-k+4;s++){
                	    for(int y=s+1;y<n-k+5;y++){
                	    	for(int t=y+1;t<n-k+6;t++){
                	    		for(int r=t+1;r<n-k+7;r++){
                	    			for(int e=r+1;e<n-k+8;e++){
                	    				for(int o=e+1;o<n-k+9;o++){
                	    					for(int h=o+1;h<n-k+10;h++){
                	    						for(int z=h+1;z<n-k+11;z++){
                	    							for(int q=z+1;q<n-k+12;q++){
                	    								temp=x[i]+x[j]+x[c]+x[s]+x[y]+x[t]+x[r]+x[e]+x[o]+x[z]+x[q];
                                                        for(int u=2;u*u<=temp;u++){
                                                            if(temp%u==0){
                                                                break;
                                                            }
                                                            if(u*u+u>temp){
                                                                ans++;
                                                            }
                                                        }
													}
												}
											}
										}
							        }
								}
							}
						}
				    }
                }
            }
		}
	}else if(k==13){
	    for(int i=0;i<n-k+1;i++){
			for(int j=i+1;j<n-k+2;j++){
                for(int c=j+1;c<n-k+3;c++){
                    for(int s=c+1;s<n-k+4;s++){
                	    for(int y=s+1;y<n-k+5;y++){
                	    	for(int t=y+1;t<n-k+6;t++){
                	    		for(int r=t+1;r<n-k+7;r++){
                	    			for(int e=r+1;e<n-k+8;e++){
                	    				for(int o=e+1;o<n-k+9;o++){
                	    					for(int h=o+1;h<n-k+10;h++){
                	    						for(int z=h+1;z<n-k+11;z++){
                	    							for(int q=z+1;q<n-k+12;q++){
                	    								for(int a=q+1;a<n-k+13;a++){
                	    									temp=x[i]+x[j]+x[c]+x[s]+x[y]+x[t]+x[r]+x[e]+x[o]+x[z]+x[q]+x[a];
                                                            for(int u=2;u*u<=temp;u++){
                                                                if(temp%u==0){
                                                                    break;
                                                                }
                                                                if(u*u+u>temp){
                                                                    ans++;
                                                                }
                                                            }
														}
													}
												}
											}
										}
							        }
								}
							}
						}
				    }
                }
            }
		}
	}else if(k==14){
		for(int i=0;i<n-k+1;i++){
			for(int j=i+1;j<n-k+2;j++){
                for(int c=j+1;c<n-k+3;c++){
                    for(int s=c+1;s<n-k+4;s++){
                	    for(int y=s+1;y<n-k+5;y++){
                	    	for(int t=y+1;t<n-k+6;t++){
                	    		for(int r=t+1;r<n-k+7;r++){
                	    			for(int e=r+1;e<n-k+8;e++){
                	    				for(int o=e+1;o<n-k+9;o++){
                	    					for(int h=o+1;h<n-k+10;h++){
                	    						for(int z=h+1;z<n-k+11;z++){
                	    							for(int q=z+1;q<n-k+12;q++){
                	    								for(int a=q+1;a<n-k+13;a++){
                	    									for(int w=a+1;w<n-k+14;w++){
                	    										temp=x[i]+x[j]+x[c]+x[s]+x[y]+x[t]+x[r]+x[e]+x[o]+x[z]+x[q]+x[a]+x[w];
                                                                for(int u=2;u*u<=temp;u++){
                                                                    if(temp%u==0){
                                                                        break;
                                                                    }
                                                                    if(u*u+u>temp){
                                                                        ans++;
                                                                    }
                                                                }
															}
														}
													}
												}
											}
										}
							        }
								}
							}
						}
				    }
                }
            }
		}
	}else if(k==15){
		for(int i=0;i<n-k+1;i++){
			for(int j=i+1;j<n-k+2;j++){
                for(int c=j+1;c<n-k+3;c++){
                    for(int s=c+1;s<n-k+4;s++){
                	    for(int y=s+1;y<n-k+5;y++){
                	    	for(int t=y+1;t<n-k+6;t++){
                	    		for(int r=t+1;r<n-k+7;r++){
                	    			for(int e=r+1;e<n-k+8;e++){
                	    				for(int o=e+1;o<n-k+9;o++){
                	    					for(int h=o+1;h<n-k+10;h++){
                	    						for(int z=h+1;z<n-k+11;z++){
                	    							for(int q=z+1;q<n-k+12;q++){
                	    								for(int a=q+1;a<n-k+13;a++){
                	    									for(int w=a+1;w<n-k+14;w++){
                	    										for(int m=w+1;m<n-k+15;m++){
                	    											temp=x[i]+x[j]+x[c]+x[s]+x[y]+x[t]+x[r]+x[e]+x[o]+x[z]+x[q]+x[a]+x[w]+x[m];
                                                                    for(int u=2;u*u<=temp;u++){
                                                                        if(temp%u==0){
                                                                            break;
                                                                        }
                                                                        if(u*u+u>temp){
                                                                            ans++;
                                                                        }
                                                                    }
																}
															}
														}
													}
												}
											}
										}
							        }
								}
							}
						}
				    }
                }
            }
		}
	}else if(k==16){
		for(int i=0;i<n-k+1;i++){
			for(int j=i+1;j<n-k+2;j++){
                for(int c=j+1;c<n-k+3;c++){
                    for(int s=c+1;s<n-k+4;s++){
                	    for(int y=s+1;y<n-k+5;y++){
                	    	for(int t=y+1;t<n-k+6;t++){
                	    		for(int r=t+1;r<n-k+7;r++){
                	    			for(int e=r+1;e<n-k+8;e++){
                	    				for(int o=e+1;o<n-k+9;o++){
                	    					for(int h=o+1;h<n-k+10;h++){
                	    						for(int z=h+1;z<n-k+11;z++){
                	    							for(int q=z+1;q<n-k+12;q++){
                	    								for(int a=q+1;a<n-k+13;a++){
                	    									for(int w=a+1;w<n-k+14;w++){
                	    										for(int m=w+1;m<n-k+15;m++){
                	    											temp=x[i]+x[j]+x[c]+x[s]+x[y]+x[t]+x[r]+x[e]+x[o]+x[z]+x[q]+x[a]+x[w]+x[m];
                                                                    for(int u=2;u*u<=temp;u++){
                                                                        if(temp%u==0){
                                                                            break;
                                                                        }
                                                                        if(u*u+u>temp){
                                                                            ans++;
                                                                        }
                                                                    }
																}
															}
														}
													}
												}
											}
										}
							        }
								}
							}
						}
				    }
                }
            }
		}
	}else if(k==17){
		for(int i=0;i<n-k+1;i++){
			for(int j=i+1;j<n-k+2;j++){
                for(int c=j+1;c<n-k+3;c++){
                    for(int s=c+1;s<n-k+4;s++){
                	    for(int y=s+1;y<n-k+5;y++){
                	    	for(int t=y+1;t<n-k+6;t++){
                	    		for(int r=t+1;r<n-k+7;r++){
                	    			for(int e=r+1;e<n-k+8;e++){
                	    				for(int o=e+1;o<n-k+9;o++){
                	    					for(int h=o+1;h<n-k+10;h++){
                	    						for(int z=h+1;z<n-k+11;z++){
                	    							for(int q=z+1;q<n-k+12;q++){
                	    								for(int a=q+1;a<n-k+13;a++){
                	    									for(int w=a+1;w<n-k+14;w++){
                	    										for(int m=w+1;m<n-k+15;m++){
                	    											for(int p=m+1;p<n-k+16;p++){
                	    												temp=x[i]+x[j]+x[c]+x[s]+x[y]+x[t]+x[r]+x[e]+x[o]+x[z]+x[q]+x[a]+x[w]+x[m]+x[p];
                                                                        for(int u=2;u*u<=temp;u++){
                                                                            if(temp%u==0){
                                                                                break;
                                                                            }
                                                                            if(u*u+u>temp){
                                                                                ans++;
                                                                            }
                                                                        }
																	}
																}
															}
														}
													}
												}
											}
										}
							        }
								}
							}
						}
				    }
                }
            }
		}
	}else if(k==18){
		for(int i=0;i<n-k+1;i++){
			for(int j=i+1;j<n-k+2;j++){
                for(int c=j+1;c<n-k+3;c++){
                    for(int s=c+1;s<n-k+4;s++){
                	    for(int y=s+1;y<n-k+5;y++){
                	    	for(int t=y+1;t<n-k+6;t++){
                	    		for(int r=t+1;r<n-k+7;r++){
                	    			for(int e=r+1;e<n-k+8;e++){
                	    				for(int o=e+1;o<n-k+9;o++){
                	    					for(int h=o+1;h<n-k+10;h++){
                	    						for(int z=h+1;z<n-k+11;z++){
                	    							for(int q=z+1;q<n-k+12;q++){
                	    								for(int a=q+1;a<n-k+13;a++){
                	    									for(int w=a+1;w<n-k+14;w++){
                	    										for(int m=w+1;m<n-k+15;m++){
                	    											for(int p=m+1;p<n-k+16;p++){
                	    												for(int l=p+1;l<n-k+17;l++){
                	    													temp=x[i]+x[j]+x[c]+x[s]+x[y]+x[t]+x[r]+x[e]+x[o]+x[z]+x[q]+x[a]+x[w]+x[m]+x[p]+x[l];
                                                                            for(int u=2;u*u<=temp;u++){
                                                                                if(temp%u==0){
                                                                                    break;
                                                                                }
                                                                                if(u*u+u>temp){
                                                                                    ans++;
                                                                                }
                                                                            }
																		}
																	}
																}
															}
														}
													}
												}
											}
										}
							        }
								}
							}
						}
				    }
                }
            }
		}
	}else{
		for(int i=0;i<n-k+1;i++){
			for(int j=i+1;j<n-k+2;j++){
                for(int c=j+1;c<n-k+3;c++){
                    for(int s=c+1;s<n-k+4;s++){
                	    for(int y=s+1;y<n-k+5;y++){
                	    	for(int t=y+1;t<n-k+6;t++){
                	    		for(int r=t+1;r<n-k+7;r++){
                	    			for(int e=r+1;e<n-k+8;e++){
                	    				for(int o=e+1;o<n-k+9;o++){
                	    					for(int h=o+1;h<n-k+10;h++){
                	    						for(int z=h+1;z<n-k+11;z++){
                	    							for(int q=z+1;q<n-k+12;q++){
                	    								for(int a=q+1;a<n-k+13;a++){
                	    									for(int w=a+1;w<n-k+14;w++){
                	    										for(int m=w+1;m<n-k+15;m++){
                	    											for(int p=m+1;p<n-k+16;p++){
                	    												for(int l=p+1;l<n-k+17;l++){
                	    													for(int d=l+1;d<n-k+18;d++){
                	    														temp=x[i]+x[j]+x[c]+x[s]+x[y]+x[t]+x[r]+x[e]+x[o]+x[z]+x[q]+x[a]+x[w]+x[m]+x[p]+x[l];
                                                                                for(int u=2;u*u<=temp;u++){
                                                                                    if(temp%u==0){
                                                                                        break;
                                                                                    }
                                                                                    if(u*u+u>temp){
                                                                                        ans++;
                                                                                    } 
                                                                                }
																			}
																		}
																	}
																}
															}
														}
													}
												}
											}
										}
							        }
								}
							}
						}
				    }
                }
            }
		}
	} 
	cout<<ans<<endl;
    return 0;
}
2021/1/2 11:28
加载中...