乔鲁诺黄金般の题解
2024-01-27 14:02:29
发布于:上海
84阅读
0回复
0点赞
首先先输头文件和命名空间
#include<iostream>
using namespace std;
然后让我们开始编主程序
int main(){
int n;
bool coin=1;
cin>>n;
for(int i=2;i<=n-2;i++){
if(){
}
}
}
停!这里有一个问题,我们要判断i和i+2两个数是否都为素数,如果再引入coin1,coin2两个变量显然会使程序变得跟100kg 可畏 古斯塔夫巨炮一样臃肿,所以我们要用函数
bool is_prime(int n) {
int flag=1;
if(n==1) flag=0;
for(int j=2;j<n;j++)
if(n%j==0) flag=0;
if(flag) return true;
else return false;
}
判断素数具体程序见此
然后我们就可以得出完整的主程序了
int main(){
int n;
bool coin=1;
cin>>n;
for(int i=2;i<=n-2;i++){
//cout<<is_prime(i)<<" "<<is_prime(i+2)<<endl;
if(is_prime(i) && is_prime(i+2)){
cout<<i<<" "<<i+2<<endl;
coin=0;
}
}
if(coin) cout<<"empty";
}
完整程序如下↓
#include<iostream>
#include<cmath>
using namespace std;
bool is_prime(int n) {
int flag=1;
if(n==1) flag=0;
for(int j=2;j<n;j++)
if(n%j==0) flag=0;
if(flag) return true;
else return false;
}
int main(){
int n;
bool coin=1;
cin>>n;
for(int i=2;i<=n-2;i++){
//cout<<is_prime(i)<<" "<<is_prime(i+2)<<endl;
if(is_prime(i) && is_prime(i+2)){
cout<<i<<" "<<i+2<<endl;
coin=0;
}
}
if(coin) cout<<"empty";
}
看在孩子这么辛苦,有帮助的话就点个赞吧(QAQ)
全部评论 1
数字过大就会TLE
2024-07-23 来自 广东
0
有帮助,赞一个