Сумма цифр C++

Найти наименьшее и наибольшее N-значные натуральные числа, которые имеют сумму цифр M.

Во входном файле числа N и M (1≤N≤100, 1≤M≤9*N).
В выходной файл нужно записать два N-значных числа в неубывающем порядке.

 

Входные данные

 3 4

Выходные данные

 103 400

 

#include <iostream>
#include <string>
using namespace std;
int main()
{
    int n, m; cin >> n >> m;
    string a, b;
    for (int i = 0; i < m / 9; i++) a += 9 + 48;
    if (m % 9) a += m % 9 + 48;
    for (int i = 0; i < n - m / 9 - (m % 9 != 0); i++) a += 48;
    for (int i = a.length() - 1; i >= 0; i--) b += a[i];
    if (b[0] == 48)
        for (int i = 1; i < b.length(); i++)
            if (b[i] != 48)
            {
                b[0] = 49;
                b[i]--;
                break;
            }
    cout << b << " " << a << endl;
}

Назад

Повышение продаж с помощью веб-форм Разложение числа на простые множители Как качественный контент способствует продвижению сайта Как выбрать хостинг Как писать SEO-тексты? Что такое SEO оптимизация сайта


Хостинг

Есть решение которого нет на сайте? Пиши admin@devexe.top