正在加载图片...
for(inti=2;i<=n-2;i=i+1)/注意此处的i的终止值为n-2,不能为n if(js(i)&&js(i+2)) cout<<i<<""<<i+2<<endl: X=0: } if(x==1) { cout <<"empty"<<endl: } 10哥德巴赫猜想 大于6的偶数等于两个质数之和,编程将6-100所有的偶数表示成两个质数的和,要求: 每个数只拆分一次,且保证第一个加数最小 分析: 1)定义一个函数js,判断一个数n是否是质数,是:返回1,否:返回0 2)对每个偶数1,用一个循环来枚举它的两个加数(G和-j),为了保证第一个加数小, 此时j的终止值为i/2,然后调用js函数两次,分别判断j和可j是否是质数。如果是,则输 出这两个数 #include <bits/stdc++.h> using namespace std; int jsl(int n) { ints=1; for(int i=2;i<=sqrt(n);i++) if(n%i==0) { s=0,∥除了1和自身外,如果还有其他因子,则不是质数,将s的值为0 break; } } return s;for(int i = 2; i <= n-2; i = i +1) //注意此处的 i 的终止值为 n-2,不能为 n { if(js(i) && js(i+2)) { cout<<i<<" "<<i+2 <<endl; x = 0; } } if( x == 1) { cout <<"empty" << endl; } } 10 哥德巴赫猜想 大于 6 的偶数等于两个质数之和,编程将 6--100 所有的偶数表示成两个质数的和,要求: 每个数只拆分一次,且保证第一个加数最小 分析: 1) 定义一个函数 js ,判断一个数 n 是否是质数,是: 返回 1 , 否:返回 0 2) 对每个偶数 i,用一个循环来枚举它的两个加数(j 和 i - j ), 为了保证第一个加数小, 此时 j 的终止值为 i/2,然后调用 js 函数两次,分别判断 j 和 i-j 是否是质数。如果是,则输 出这两个数 #include <bits/stdc++.h> using namespace std; int js1(int n) { int s = 1; for(int i = 2; i <= sqrt(n); i ++) { if(n%i == 0) { s = 0; // 除了 1 和自身外,如果还有其他因子,则不是质数,将 s 的值为 0 break; } } return s;
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有