1 条题解
-
0
C :
#include<stdio.h> int n; int a[9999],b[9999],t,ans; int main() { scanf("%d",&n); a[1]=1; for(int i=2;i<=n;i++) if(a[i]==0) for(int j=2;j*i<=n;j++) a[i*j]=1; for(int i=2;i<=n;i++) if(a[i]==0) b[++t]=i; for(int i=1;i<=t;i++) for(int j=i;j<=t&&n-b[i]-b[j]>=2;j++) if(a[n-b[i]-b[j]]==0&&b[i]<=b[j]&&b[j]<=n-b[i]-b[j]) ans++; printf("%d\n",ans); for(int i=1;i<=t;i++) for(int j=i;j<=t&&n-b[i]-b[j]>=2;j++) if(a[n-b[i]-b[j]]==0&&b[i]<=b[j]&&b[j]<=n-b[i]-b[j]) printf("%d=%d+%d+%d\n",n,b[i],b[j],n-b[i]-b[j]); return 0; }
C++ :
#include <bits/stdc++.h> using namespace std; bool sushu(int n){ bool f = true; int i; for(i = 2;i <= sqrt(n);i++){ if(n % i == 0){ f = false; break; } } if(n <= 1){ f = false; } return f; } int main(){ int a[100][3]; int n,i,j,c = 0,x; cin>>n; for(i = 2;i <= n / 3;i++){ if(sushu(i)){ x = n - i; for(j = i;j <= x / 2;j++){ if(sushu(j) && sushu(x - j)){ a[c][0] = i; a[c][1] = j; a[c][2] = x - j; c++; } } } } cout<<c<<endl; for(i = 0;i < c;i++){ cout<<n<<"="<<a[i][0]<<"+"<<a[i][1]<<"+"<<a[i][2]<<endl; } }
- 1
信息
- ID
- 2184
- 时间
- 1000ms
- 内存
- 16MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者