отличница446
01.05.2023 06:32

переделать код программы с языка паскаль на с++. вот код паскаль: var f: array[1..500] of record fam: string; bal: boolean; end; buf: boolean; str: string; b1,b2,i,n,j: integer; c: char; begin readln(n); for i: =1 to n do begin repeat begin read(c); f[i].fam: =f[i].fam+c; end; until c=' '; repeat begin read(c); f[i].fam: =f[i].fam+c; end; until c=' '; f[i].bal: =false; read(b1,b2); if (b1< 30)or(b2< 30) then f[i].bal: =true; end; for i : = 1 to n-1 do begin for j : = i + 1 to n do if f[i].fam > f[j].fam then begin str: = f[i].fam; f[i].fam: = f[j].fam; f[j].fam: = str; buf: = f[i].bal; f[i].bal: = f[j].bal; f[j].bal: = buf; end; end; for i: =1 to n do if f[i].bal=true then writeln (f[i].fam); end.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Нєдєля
13.07.2021 11:31

...А если интересует решение на классическом Паскале, предлагаю просто поддерживать текущее, предыдущее и пред-предыдущее значения в ряду, и в цикле обновлять ответ.

Обрати внимание! longint может хранить значения только до 2^{31}-1, поэтому конкретно в этой программе вывод будет достоверным только для N ≤ 46. Ты можешь сделать текущую, предыдущую и пред-предыдущую переменные типа int64, и тогда максимальное значение N возрастёт до 92. Для бОльших N тебе придётся писать длинное сложение.


Код

var

i, n, pred, predpred, cur: longint;

begin

read(n);

if n = 1 then writeln(1)

else if n = 2 then writeln('1 1')

else write('1 1 ');

if n < 3 then exit;

pred := 1;

predpred := 1;

for i := 3 to n do

begin

 cur := pred + predpred;

 write(cur, ' ');

 predpred := pred;

 pred := cur;

end;

writeln;

end.

0,0(0 оценок)
Ответ:
Агааемгов
13.07.2021 11:31

def check_perfect(number:int, dividers = []):

for i in range(1, number):

 if number%i == 0:

  dividers.append(i)

if sum(dividers) == number:

 return 1

def get_div(num, div = []):

for i in range(1, num):

 if num%i == 0:

  div.append(i)

return div

def main():

number = int(input())

if check_perfect(number):

 print(' '.join(str(num) for num in get_div(number)))

else:

 print(0)

if __name__ == '__main__':

main()

Объяснение:

На случай, если сайт сломает табуляции в коде (А он их сломает), ниже представлен скриншот оригинала кода. Программа протестирована.


совершенным называется число, равное сумме всех своих делителей, меньших его самого (например, число
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота