codeforce A. Design Tutorial: Learn from Math

题意:将一个数拆成两个合数的和, 输出这两个数!(这道题做的真是TMD水啊)开始的时候不知道composite numbers是啥意思,看了3遍才看懂....

看懂之后又想用素数筛选法来做,后来决定单个判断一个数是否为素数的方法来写,结果写错了两次,快疯掉了简直....

 1 #include<iostream>
 2 #include<cmath> 
 3 #include<cstdio>
 4 #include<algorithm>
 5 #include<cmath>
 6 #include<cstring>
 7 #define N 1000005
 8 using namespace std;
 9 
10 bool prime(int x){
11     int n = (int)sqrt(x*1.0);
12     int i;
13     for(i=2; i<=n; ++i)
14         if( x % i == 0)
15            break;
16     if(i>n) return true;
17     return false;
18 }
19 
20 int main(){
21      
22       int n;
23       cin>>n;
24       for(int i=4; i<=n/2; ++i){
25         if( !prime(i) && !prime(n-i)){
26             cout<<i<<" "<<n-i<<endl;
27             break;
28         }  
29       } 
30       return 0;
31 } 
32  
View Code

 

posted @ 2014-09-29 12:39  hjzqyx  阅读(394)  评论(0编辑  收藏  举报