问题标题: 酷町堂:7676 偶数的分解 50分

0
0
已解决
於海洋
於海洋
高级光能
高级光能
#include<bits/stdc++.h>
using namespace std;
bool f(int a){
	if(a==1){
		return false;
	}
	for(int i=2;i<a;i++){
		if(a%i==0){
			return false;
		}
	}
	return true;
}
int main(){
	int n;
	cin>>n;
	for(int i=2;i<=n/2;i++){
		if(f(i)&&f(n-i)){
			cout<<n<<'='<<i<<'+'<<(n-i);
			return 0;
		}
	}
	return 0;
}

7#测试点和10#测试点超时了

於海洋在2022-09-10 21:15:18追加了内容

优化到极限了

於海洋在2022-09-10 21:17:12追加了内容

我知道哪错了,谁先发回答,我就采纳谁


0
0
宋灏
宋灏
初级光能
初级光能
  • 整型 n,a,b;
  • 函数为判断质数
  • 输入n
  • 循环遍历2--n
  • a赋值i
  • b赋值n-i;
  • if(函数(a)且函数f(b)){
  • 输出n等于a加b
  • 跳出循环
  • }
  • 讲一下判断质数的函数
  • 首先,我们定义一个布尔类型的函数,在传一个整型变量x
  • 我们知道当这个数小于等于1时,这个数就超出了范围
  • 所以,当这个数小于等于一时,就返回false
  • 再遍历2-sqrt(这个数){
  • 如果这个数是i的倍数,就返回false(说明这个数他还有其他倍数)
  • 最后返回true(以上都不成立)
  •  
  •  
0
陈俊霖
陈俊霖
新手天翼
新手天翼

第7行第二个i改成i*i试试

我要回答