【2021.01.04】Win32視窗程式及除錯資訊的輸出
阿新 • • 發佈:2021-01-05
文章目錄
前言
提示:以下是本篇文章正文內容,下面案例可供參考
一、素數定義及求法
質數是指在大於1的自然數中,除了1和它本身以外不再有其他因數的自然數。
求法:從2開始到根號n,若存在因子能整除n,則不是素數
二、程式碼
程式碼如下(示例):
//素數:大於1且因子只有1和本身。
//求法:從2到根號n,若有乘除因子,則不是素數
#include<iostream>
using namespace std;
bool judge(int n){
for(int i=2;i*i<= n;i++){
if(n%i==0) return false;
}
return true;
}
int main(){
int n,count=0;
cin>>n;
for(int i=5;i<=n;i++){
if(judge(i-2)&&judge(i)) count++; //1,2,4不是素數,3素數,但3-2=1不是素數
}
cout<<count;
return 0;
}
分析:
1.題目要求2=pn+1-pn,轉化為要求Pn和Pn-2都是素數即可
for(int i=5;i<=n;i++){
if (judge(i-2)&&judge(i)) count++; //1,2,4不是素數,3素數,但3-2=1不是素數
}
2. i初始為5是因為1不是素數,2,4也不是;3是素數,但3-2=1不是素數,不會導致count++,故i初始化為5;
結尾
本文主要參考這篇部落格