zxit20190507135 @ 2019-10-27 09:43:24
#include<stdio.h>
int main()
{
int n,i,m,j,p,c,y;
int a[10000];
int b[10000];
scanf("%d",&n);
m=0;
j=0;
for(i=0;i<=n;i++)
{
c=0;
for(p=2;p<=m/2;p++)
{
if(m%p==0)
{
c++;
}
}
if(c==0)
{
a[j]=m;
j++;
}
m++;
}
y=0;
for(j=0;j<10000;j++)
{
if(a[j]!=0&&a[j]!=1)
{
b[y]=a[j];
//printf("%d ",b[y]);
y++;
}
}
//printf("%d",y);
for(i=0;i<y;i++)
{
for(j=0;j<y;j++)
{
for(p=0;p<y;p++)
{
if(b[i]+b[j]+b[p]==n)
{
printf("%d %d %d",b[i],b[j],b[p]);
return 0;
}
}
}
}
}
by nth_element @ 2019-10-27 09:47:27
感觉您的代码有点复杂啊,您可以看一下我的代码
#include<bits/stdc++.h>
using namespace std;
int sushu(int n)
{
for(int i=2;i<=sqrt(n);i++)
{
if(n%i==0)
{
return 1;
}
}
return 0;
}
int main()
{
int n,n1,n2,n3;
scanf("%d",&n);
for(n1=2;n1<=n-4;n1++)
{
for(n2=2;n2<=n-4;n2++)
{
n3=n-n1-n2;
if(sushu(n1)+sushu(n2)+sushu(n3)!=0)
{
continue;
}
printf("%d %d %d",n1,n2,n3);
return 0;
}
}
}
by zxit20190507135 @ 2019-10-27 15:40:11
@nth_element 大佬没学过C++,求C语言指导
by awa再也不水贴 @ 2019-11-09 21:12:22
#include<stdio.h>
#include<math.h>
int sushu(int n)
{
for(int i=2;i<=sqrt(n);i++)
{
if(n%i==0)
{
return 1;
}
}
return 0;
}
int main()
{
int n,n1,n2,n3;
scanf("%d",&n);
for(n1=2;n1<=n-4;n1++)
{
for(n2=2;n2<=n-4;n2++)
{
n3=n-n1-n2;
if(sushu(n1)+sushu(n2)+sushu(n3)!=0)
{
continue;
}
printf("%d %d %d",n1,n2,n3);
return 0;
}
}
}
@zxit20190507135
by awa再也不水贴 @ 2019-11-09 21:12:35
@zxit20190507135 基本没区别