信息学奥赛一本通 1405:质数的和与积 | OpenJudge NOI 2.1 7827:质数的和与积 | 小学奥数 7827
生活随笔
收集整理的這篇文章主要介紹了
信息学奥赛一本通 1405:质数的和与积 | OpenJudge NOI 2.1 7827:质数的和与积 | 小学奥数 7827
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
【題目鏈接】
ybt 1405:質(zhì)數(shù)的和與積
OpenJudge NOI 2.1 7827:質(zhì)數(shù)的和與積
OpenJudge NOI 小學(xué)奧數(shù) 7827:質(zhì)數(shù)的和與積
【題目考點(diǎn)】
1. 枚舉
【解題思路】
兩個(gè)質(zhì)數(shù)的和是s,如果較小的數(shù)為i,那么較大的數(shù)為s-i。
i的可行的范圍為2~s/2。
i從2循環(huán)到s/2,如果i與s-i都是質(zhì)數(shù),那么求一下二者的乘積,乘積取最大值。
【題解代碼】
解法1:通過(guò)比較求最大值
#include<bits/stdc++.h> using namespace std; bool isPrime(int n) {for(int i = 2; i <= sqrt(n); ++i)if(n % i == 0)return false;return true; } int main() {int s, mx = 0;cin >> s;for(int i = 2; i <= s/2 ; ++i){if(isPrime(i) && isPrime(s - i)){if(i * (s-i) > mx)mx = i * (s-i);}}cout << mx;return 0; }解法2:使用max函數(shù)求最大值
#include<bits/stdc++.h> using namespace std; bool isPrime(int n) {for(int i = 2; i <= sqrt(n); ++i)if(n % i == 0)return false;return true; } int main() {int s, mx = 0;cin >> s;for(int i = 2; i <= s/2 ; ++i)if(isPrime(i) && isPrime(s - i))mx = max(mx, i*(s-i));cout << mx;return 0; }總結(jié)
以上是生活随笔為你收集整理的信息学奥赛一本通 1405:质数的和与积 | OpenJudge NOI 2.1 7827:质数的和与积 | 小学奥数 7827的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 开关电源雷击浪涌整改_雷击浪涌的防护解析
- 下一篇: 信息学奥赛一本通 1344:【例4-4】