Codeforces 735D Taxes
2017-07-18 10:40
399 查看
题目链接:http://codeforces.com/problemset/problem/735/D
题意:将一个数拆成若干个素数的和(也可以不拆),使得拆分的个数和最小。
分析:偶数很简单,根据哥德巴赫猜想,任一大于2的偶数都可写成两个素数之和,所以为2。奇数情况下,如果是素数则为1,如果不是素数,发现可以拆分成2和一个素数,如果不能则只能拆成三份,事实上只有这两种情况了,我也不知道为什么QAQ,当时以为能接着拆就写了个循环,只过了十几组数据就WA掉了。
AC代码如下
题意:将一个数拆成若干个素数的和(也可以不拆),使得拆分的个数和最小。
分析:偶数很简单,根据哥德巴赫猜想,任一大于2的偶数都可写成两个素数之和,所以为2。奇数情况下,如果是素数则为1,如果不是素数,发现可以拆分成2和一个素数,如果不能则只能拆成三份,事实上只有这两种情况了,我也不知道为什么QAQ,当时以为能接着拆就写了个循环,只过了十几组数据就WA掉了。
AC代码如下
#include<bits/stdc++.h> using namespace std; bool isprime(int n) { for(int i=2;i<=sqrt(n);i++) { if(n%i==0) return 0; } return 1; } int main() { int n; cin>>n; if(n==2) cout<<"1"<<endl; else if(n%2==0) cout<<"2"<<endl; else if(isprime(n)) cout<<"1"<<endl; else if(isprime(n-2)) cout<<"2"<<endl; else cout<<"3"<<endl; return 0; }
相关文章推荐
- codeforces 735D Taxes 哥德巴赫猜想
- CodeForces - 735D Taxes(数学)
- Codeforces 735D Taxes
- CodeForces - 735D Taxes
- codeforces 735D Taxes(数论)
- CodeForces 735D Taxes
- codeforces 735d Taxes
- CodeForces - 735D Taxes 数论 哥德巴赫猜想和弱哥德巴赫猜想
- codeforces 735D Taxes 哥德巴赫猜想
- CodeForces 735D Taxes
- Codeforces 193A. Cutting Figure
- Codeforces 615E Hexagons 【找规律】
- CodeForces - 612E (置换群)
- CodeForces 669E Little Artem and Time Machine(树状数组)
- Codeforces 219D. Choosing Capital for Treeland (树dp)
- [数论] Codeforces 819D R #421 D.Mister B and Astronomers & 516E R #292 E. Drazil and His Happy Friends
- codeforces 535C(二分)
- Codeforces 474 F. Ant colony
- codeforces 615C Running Track
- [Codeforces 938.D] Buy a Ticket(图论,最短路)