Решение задачи Квазидвоичная сумма с Codeforces

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


Число назовем квазидвоичным, если в его десятичной записи присутствуют только цифры 0 или 1. Например, числа 0, 1, 101, 110011 — квазидвоичные, а числа 2, 12, 900 — нет.

Вам дано положительное целое число n. Представьте его в виде суммы минимального количества квазидвоичных чисел.

Код

#include<iostream>
using namespace std;
int a, b, i, m, t = 1, g[10];
int main(){
	cin >> a;    
	while(a){
		b = a % 10;
		for(i = 9; i > 9 - b; i--)
            g[i] += t;
		if(b > m)
            m = b;
		t *= 10;
		a /= 10;
	}		
	cout << m << endl;
	for(i = 0; i < 10; i++){
		if(g[i])
            cout << g[i] << ' ';
	}
	return 0;
}

         

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



Комментарии

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