М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
lilyaepifanova
lilyaepifanova
30.05.2020 12:21 •  Информатика

Умиши развитое эстетическое чувство. он считает, что не все числа одинаково порядочные. когда ему грустно, он начинает придумывать числа и приводить их в порядок. миша любит рассматривать сумму цифр числа. для того чтобы в порядок число a, он сначала записывает само число. потом он пишет сумму цифр этого числа. затем — сумму цифр суммы цифр и так далее, до тех пор, пока очередное число не станет однозначным. он считает, что результатом в порядок числа a является сумма всех выписанных чисел, включая само число a. миша настолько любит этот процесс, что он даже заменяет ему счёт овец, когда долго не получается заснуть. он помнит, что вчера ночью, когда он в уме привёл в порядок число a, у него получилось число b. но вот беда — он не помнит, какое именно он взял число a! ему в отыскании этого числа. входные данные на ввод подаётся единственное целое число b (1 ≤ b ≤ 109 ) выходные данные если существует такое число a, что после его в порядок, получается b, то выведите любое такое число. если же миша где-то ошибся в расчётах и такого числа не существует, то выведите -1. примеры тестов входные данные 42 выходные данные 29 входные данные 20 выходные данные -1 примечание пояснение к первому примеру. последовательность сумм цифр для 29 состоит из чисел 29, 11, 2. соответственно, после в порядок число 29 превращается в число 42 = 29 + 11 + 2. решал вот так, def order(n): return n + order(sum(map(int, str( if n > 9 else n def main(): n = int( for i in range(105): if order(i) == n: print(i) break else: print(-1) if __name__ == "__main__": main() но только 8/12 тестов. язык любой, если что в питон сам переведу. цена !

👇
Ответ:
SofiAll
SofiAll
30.05.2020

a = int(input())

s = 1

flag = True

while s < a:

   ch = s

   count = ch

   while ch > 9:

       ch = sum(map(int,str(ch)))

       count += ch

   if count == a:

       print(s)

       flag = False

       break

   s += 1

if flag:

   print(-1)

4,7(50 оценок)
Открыть все ответы
Ответ:
function Gcd(a,b: longint): longint;
{ Нахождение НОД }
var
  i: longint;
begin
  while b <> 0 do
  begin
    a := a mod b;
    i := b; b := a; a := i
  end;
  gcd := a
end;

procedure ShortFraction(var m,n:longint);
var
  k:longint;
begin
  k:=Gcd(m,n);
  m:=m div k; n:=n div k
end;

var
  a,b:longint;
begin
  Write('Введите числитель и знаменатель дроби: '); Readln(a,b);
  ShortFraction(a,b);
  Writeln('Дробь после сокращения равна ',a,'/',b)
end.

Тестовое решение:
Введите числитель и знаменатель дроби: 25 15
Дробь после сокращения равна 5/3
4,4(31 оценок)
Ответ:
noname0002
noname0002
30.05.2020
uses graphABC;
var xk: integer;  
procedure Body (xx, yy: integer);
procedure Leg(x,y: integer);
var i: integer;
begin setpenwidth(3);
setpencolor(clwhite);
for i:=x-30 to x+30 do     line(x,y-60,i,y);
setpencolor(clblack);
line(x-30,y,x,y-60);
line(x,y-60,x+30,y);
line(x-30,y,x+30,y);
floodfill(x,y-10,clblack);
end;  
var s,n: integer;
begin setpenwidth(3);
setbrushcolor(clblack);
circle(xx-115,yy-100,20);
setbrushcolor(clwhite);
rectangle(xx,yy-10,xx+150,yy+130);
ellipse(xx-120,yy-140,xx+50,yy);
if xx mod 50<25 then    
begin Leg(xx+20,yy+130);
Leg(xx+130,yy+150);    
end
else        
begin Leg(xx+20,yy+150);
Leg(xx+130,yy+130);  
      end;
line(xx-50,yy-5,xx-60,yy+50);
line(xx-60,yy+50,xx-100,yy+10);
line(xx-50,yy-5,xx-100,yy+10);  
line(xx+110,yy-50,xx+150,yy-10);
line(xx+110,yy-50,xx+170,yy-60);
line(xx+150,yy-10,xx+170,yy-60);
floodfill(xx+130,yy-40,clblack);  
line(xx-10,yy-150,xx+10,yy-100);
line(xx+10,yy-100,xx+40,yy-140);
line(xx-10,yy-150,xx+40,yy-140);
floodfill(xx+10,yy-120,clblack);
floodfill(xx+10,yy-140,clblack);  
setpenwidth(1);
circle(xx-25,yy-100,25);
setpenwidth(7);
circle(xx-25,yy-110,8);
end;  
procedure Miska;
begin setpenwidth(1);
setbrushcolor(clblue);
ellipse(10,300,110,350);
setbrushcolor(clskyblue);
ellipse(5,290,115,340);
setbrushcolor(clbrown);
ellipse(20,300,100,330);
end;  
procedure Zv(x,y: integer);
begin setbrushcolor(clyellow);
circle(x,y,10);
setbrushcolor(clwhite);
circle(x-20,y,13);
circle(x+20,y,13);
circle(x,y-20,13);
circle(x,y+20,13);
end;  
begin setwindowsize(500,400);
lockdrawing;
for xk:=500 downto 200 do     begin     clearwindow;    
Zv(50,50);    
Zv(380,20);    
Zv(70,220);    
Zv(170,320);    
Body (xk,200);    
Miska;    
sleep(10);    
redraw;    
end;  
end.
4,6(73 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ