Решение задачи Несложная сортировка с Acmp

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


Пусть x – целое положительное число, а k – натуральное число от 1 до 10. Пусть s(x, k) равно сумме цифр числа x, представленного в системе счисления по основанию k.

Задано n чисел a1, a2, ..., an. Необходимо вычислить последовательность bi по формуле bi = s(ai, k1) • s(ai, k2), после чего отсортировать последовательность bi по неубыванию.

Код

#include <bits/stdc++.h>

using namespace std;
int func(int n, int k)
{
    int s = 0;
    while(n >= k){
        s+=n % k;
        n/=k;
    }
    s+=n;
    return s;
}
int main()
{
    int n, k, k1, t;
    cin >> n >> k >> k1;
    vector<int> a(n);
    for(int i = 0; i < n; ++i){
        cin >> t;
        a[i] = func(t, k) * func(t, k1);
    }
    sort(a.begin(), a.end());
    for(auto i: a)
        cout << i << " ";

    return 0;
}

         

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



Комментарии

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