Решение задачи Задача Бахгольда с Codeforces

Без пояснения   Просмотров: 39


Задача Бахгольда формулируется очень просто. Дано целое положительное число n. Требуется представить его в виде суммы максимального количества простых слагаемых. Известно, что представление в виде суммы простых существует для всех целых положительных чисел, больших 1.

Напомним, целое положительное число k называется простым, если оно больше 1 и у него ровно два целых положительных делителя — 1 и k.

Код

#include <bits/stdc++.h>

using namespace std;

int main()
{
    int n;
    cin >> n;
    vector<int> a;
    while(n){
        if(n % 2){
            a.push_back(3);
            n-=3;
        }
        else{
            n-=2;
            a.push_back(2);
        }
    }
    cout << a.size() << endl;
    for(auto i: a)
        cout << i << " ";
    return 0;
}

         

Администратор Photo Автор: Администратор



Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться