【codeforces 749A】Bachgold Problem
2017-07-09 15:04
1261 查看
Bachgold problem is very easy to formulate. Given a positive integer n represent it as a sum of maximum possible number of prime numbers. One can prove that such representation
exists for any integer greater than 1.
Recall that integer k is called prime if it is greater than 1 and has exactly two positive integer divisors — 1 and k.
Input
The only line of the input contains a single integer n (2 ≤ n ≤ 100 000).
Output
The first line of the output contains a single integer k — maximum possible number of primes in representation.
The second line should contain k primes with their sum equal to n. You can print them in any order. If there are several optimal solution, print any of them.
Example
Input
Output
Input
Output
一道简单的贪心,只需要输出2或3
AC代码:
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cmath>
using namespace std;
int n;
int main()
{
int k;
while(cin>>n)
{
k = n / 2;
n = n - (k * 2);
if(n == 1)
{
k--;
cout<<k + 1<<endl;
for(int i = 0; i < k; i++)
cout<<2<<" ";
cout<<3<<endl;
}
else
{
cout<<k<<endl;
for(int i = 0; i < k - 1; i++)
cout<<2<<" ";
cout<<2<<endl;
}
}
return 0;
}
exists for any integer greater than 1.
Recall that integer k is called prime if it is greater than 1 and has exactly two positive integer divisors — 1 and k.
Input
The only line of the input contains a single integer n (2 ≤ n ≤ 100 000).
Output
The first line of the output contains a single integer k — maximum possible number of primes in representation.
The second line should contain k primes with their sum equal to n. You can print them in any order. If there are several optimal solution, print any of them.
Example
Input
5
Output
2 2 3
Input
6
Output
3 2 2 2
一道简单的贪心,只需要输出2或3
AC代码:
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cmath>
using namespace std;
int n;
int main()
{
int k;
while(cin>>n)
{
k = n / 2;
n = n - (k * 2);
if(n == 1)
{
k--;
cout<<k + 1<<endl;
for(int i = 0; i < k; i++)
cout<<2<<" ";
cout<<3<<endl;
}
else
{
cout<<k<<endl;
for(int i = 0; i < k - 1; i++)
cout<<2<<" ";
cout<<2<<endl;
}
}
return 0;
}
相关文章推荐
- 【codeforces 749A】Bachgold Problem
- Codeforces 749A-Bachgold Problem
- 【codeforces 749A】Bachgold Problem
- 【codeforces 749A】Bachgold Problem
- Bachgold Problem CodeForces - 749A
- cf 749 A. Bachgold Problem
- A. Bachgold Problem
- Codeforces 17A Noldbach problem(数学)
- Bachgold Problem
- CodeForces-17A-Noldbach problem
- CodeForces 17 A.Noldbach problem(水~)
- codeforces 17A Noldbach problem
- 749 A. Bachgold Problem
- Codeforces Round #388(Div. 2)A. Bachgold Problem【水题】
- A - Bachgold Problem vj
- Codeforces Round #388 (Div. 2)A Bachgold Problem
- 【codeforces】Far Relative’s Problem
- 【Codeforces 贪心】Far Relative’s Problem
- Codeforces 472D Design Tutorial: Inverse the Problem【MST+SPFA+思维】
- Codeforces 845 G Shortest Path Problem?