- 哥德巴赫猜想(gede)
- @ 2026-05-02 20:18:43
#include<iostream>
#include<cmath>
using namespace std;
int n,count;
bool is_prime(int n){
if(n==0||n==1)return false;
for(int i=2;i<=sqrt(n);i++)if(n%i==0)return false;
return true;
}int main(){
cin>>n;
for(int i=2;i<=n;i++){
if(is_prime(i)){
for(int j=2;j<=n-i;j++){
if(is_prime(j)&&i+j==n){cout<<i<<" "<<j<<"\n";count++;}
}
}
}cout<<count;
return 0;
}
怎么判断重复(10=3+7和10=7+3在题目里是同一个拆法)
请各位大佬们在评论里帮我用代码块在这个程序上增加判断重复,中级班的水平
3 条评论
-
202607zj09王宇浩 (王宇浩) LV 8 @ 2026-07-21 12:28:20
#include<bits/stdc++.h> using namespace std; int n,cnt=0; bool pdss(int x) { if(x<2) return 0; for (int i=2;i*i<=x;i++) if (x%i==0) return 0; return 1; } int main( ) { cin>>n; for (int i=2;i<=n/2;i++) if (pdss(i) && pdss(n-i)) cnt++; cout<<cnt; return 0; } -
@ 2026-07-21 09:25:21
#include<bits/stdc++.h> using namespace std; int n; struct xpy { int bh,yw,sx; bool operator<(const xpy &a) { return yw>a.yw||(a.yw==yw&&sx>a.sx); } }a[1005]; int main() { cin>>n; for(int i=1;i<=n;i++) cin>>a[i].bh>>a[i].yw>>a[i].sx; sort(a+1,a+1+n); for(int i=1;i<=n;i++) cout<<a[i].bh<<' '<<a[i].yw<<' '<<a[i].sx<<endl; return 0; } -
@ 2026-05-02 21:13:34
i循环开到n/2应该就可以
- 1
信息
- ID
- 1781
- 难度
- 5
- 分类
- (无)
- 标签
- 递交数
- 187
- 已通过
- 62
- 通过率
- 33%
- 被复制
- 3
- 上传者