标签:int Bachgold CodeForces Output 2020 integer Input line any
Problem Description
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.
Examples
Input5Output
2Input
2 3
6Output
3
2 2 2
其实就三种情况:
n为3的话就是1个3.
n为偶数的话就是n/2个2相加。
n为奇数且不等于三的话就是n/2-1个2和1个3相加。
注意判断偶数时(n&1)==0中的n&1要用括号括起来。
#include<iostream> using namespace std; int n; int main(){ scanf("%d",&n); printf("%d\n",n/2); if(n==3){ printf("3"); }else if((n&1)==0){ for(int i=0;i<n/2;i++) printf("2 "); }else{ for(int i=0;i<n/2-1;i++) printf("2 "); printf("3"); } return 0; }
标签:int,Bachgold,CodeForces,Output,2020,integer,Input,line,any 来源: https://www.cnblogs.com/mikku39/p/14393095.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。