Районная олимпиада по информатике. 2015-2016 учебный год


Задача E. Новое число

Ограничение по времени:
1 секунда
Ограничение по памяти:
64 мегабайта

У вас имеется число 0 и две операции с данным числом. Первая операция MUL позволяет умножить данное число на 10, вторая операция ADD позволяет прибавить число 1. Выведите последовательность операции для получения числа $x.$ Выведите не более 30 операций.
Формат входного файла
Единственная строка входных данных содержит число $1 \le x \le 1000.$
Формат выходного файла
Выведите последовательность операции MUL, ADD для получения числа $x.$
Примеры:
Вход
27
Ответ
ADD
ADD
MUL
ADD
ADD
ADD
ADD
ADD
ADD
ADD
посмотреть в олимпиаде

Комментарий/решение:

пред. Правка 2   0
2022-01-18 11:11:50.0 #

DELETED

  1
2021-09-23 14:14:09.0 #

показать/скрыть код

  0
2022-01-14 20:10:13.0 #

показать/скрыть код

  0
2022-12-13 08:55:17.0 #

показать/скрыть код

#include<bits/stdc++.h>

using namespace std;

#define ll long long

#define fast ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);

int main () {

fast;

ll x, cal, ans;

cin>>x;

cal=x/10;

ans=x%10;

ll i=0, j=1,h=1;

while(i!=x){

while(j<=cal){

cout<<"ADD"<<endl;

i++;

j++;

}

if(i*10<=x){

cout<<"MUL"<<endl;

i*=10;

}

while(h<=ans){

cout<<"ADD"<<endl;

i++;

h++;

}

}

}

  0
2022-12-13 08:55:42.0 #

показать/скрыть код