在括号内填上50以内的质数[可重复使用],使每3个质数的和等干51列3道[ ]加[ ]=51]加[ ]=51
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/07 23:37:00
在括号内填上50以内的质数[可重复使用],使每3个质数的和等干51列3道[ ]加[ ]=51]加[ ]=51
在括号内填上50以内的质数[可重复使用],使每3个质数的和等干51
列3道
[ ]加[ ]=51
]加[ ]=51
在括号内填上50以内的质数[可重复使用],使每3个质数的和等干51列3道[ ]加[ ]=51]加[ ]=51
#include <iostream>
#include <math.h>
using namespace std;
#define N 51 //此处可自由改变N的大小.
int f(int n) //起到判断正整数是否为素数的作用,返回一个值以标识,是则返回1,否则返回0.
{
int i,j=0;
for(i=2;i<=sqrt(n);i++)
if(n%i==0)
j++;
if(n==1) return 0;
else
{
if(j==0)
return 1;
else
return 0;
}
}
int main()
{
int i,j,k,m=0,b[N/2];
for(i=1;i<=N;i++) //1至51之间的一系列素数存入数组b中.
if(f(i))
{
b[m]=i;
m++;
}
for (i=0;i<m;i++)
for (j=i;j<m;j++)
for (k=j;k<m;k++)
if(b[i]+b[j]+b[k]==N) //三个for循环,注意体会!
cout<<b[i]<<"+"<<b[j]<<"+"<<b[k]<<"="<<N<<endl;
return 0;
}
17+17+17
19+19+13
11+3+37