感觉思路对了,但怎么输出的质数都是二,大佬帮看一看
查看原帖
感觉思路对了,但怎么输出的质数都是二,大佬帮看一看
916027
qew12312楼主2023/1/13 22:25
#include<iostream>
#include<cstring>
#include<cmath>
using namespace std;
int a(int b){int er=1;
	for(int t=2;t<b;t++){
		if(b%t==0) {
			er=0;break;
		}
	}
	if(er) return 1;
	else return 0;
}//函数判断是否是质数
int main(){
	int n,c[100],we=0,t,i;
	cin>>n;
	for(t=4;t<=n;t+=2){
		for(i=2;i<=sqrtf(t);i++)
		{
			if(a(i)&&a(t-i)) {
				c[we]=i;c[we+1]=t-i;
				we+=2;break;
	}}//判断并将最小质数存入数组中
	}we=0;
		for(t=4;t<=n;t+=2){cout<<t<<"="<<c[we]<<"+"<<c[we+1]<<endl;}//输出
	return 0;
}




2023/1/13 22:25
加载中...