zoukankan      html  css  js  c++  java
  • Bachgold problem

    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
    5
    Output
    2
    2 3
    Input
    6
    Output
    3
    2 2 2
    代码
    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
        int n,j;
        while(scanf("%d",&n)!=EOF)
        {
            if(n%2==0)
            {
                printf("%d
    ",n/2);
                printf("2");
                for(j=1;j<n/2;j++)
                {
                    printf(" 2");
                }
                printf("
    ");
            }
            else if(n==3)
            {
                printf("1
    3
    ");
            }
            else
            {
                printf("%d
    ",n/2);
                printf("2");
                for(j=2;j<n/2;j++)
                {
                    printf(" 2");
                }
                printf(" 3
    ");
            }
    
        }
        return 0;
    }
    
  • 相关阅读:
    冒泡排序
    跑马(行转列,列转行)
    选择排序
    day06-迭代器
    day05-装饰器作业
    day07-生成器
    day08-内置函数和匿名函数
    day09-正侧表达式
    144-SpringBoot的编码问题?
    143-SprinBoot如何使用Servlet?
  • 原文地址:https://www.cnblogs.com/--lr/p/6212845.html
Copyright © 2011-2022 走看看