Yekaterina Oksyuta1657
?>

1. Напишите программу, в которой сначала вводится с клавиатуры одно целое число n, а затем выводятся два сообщения: — «Перед числом n идёт число n - 1»; — «После числа n идёт число n + 1». 2. Лесорубы (N) решили, что разделят деревья для сруба (K) только поровну, а получившиеся в остатке от такого деления деревья рубить пока не будут. Напишите программу, которая вводит два числа - N и K, а затем вывод два результата: — количество деревьев, которые достанутся каждому лесорубу для сруба; — количество деревьев, которые останутся нетронутыми.

Информатика

Ответы

yuliyastatsenko3894

program PrevousAndNext;

var n: integer;

begin

WriteLn('Ввод');

ReadLn(n);

WriteLn ('Перед числом ', n ,' идет число ',n-1 );

WriteLn ('После числа ', n ,' идет число ',n+1 );

end.

Александрович Андреевна
Пусть исходные координаты чертежника (x;y). Смоделируем алгоритм:
0) (x;y)
1) (x-1;y-2)
2) n раз делается одно и то же: первая координата изменяется на a, затем из нее вычитается 1, вторая координата изменяется на b, затем вычитается 2. В результате координаты равны:
(x-1+n*(a-1); y-2+n*(b-2))
3) (x-1+n*(a-1)-20; y-2+n*(b-2)-12)
Концом работы программы является попадание в стартовую позицию. То есть x-1+n*(a-1)-20=x => n*(a-1)=21
y-2+n*(b-2)-12=y => n*(b-2)=14
Тогда n нужно искать среди делителей чисел 21 и 14. Точнее ответом будет НОД(21, 14)=7.
kreon1
Var
    f: file of integer;
    i, n, x, t, k, max: integer;
    s: integer;

begin
    randomize;
    write('n=');
    readln(n);
    
    assign(f, 'numbers.dat');
    rewrite(f);
    
    max := -1;
    for i := 1 to n do
    begin
        x := random(4800) + 20;
        write(f, x);
        write(x, ' ');
        if x > max then max := x;
    end;
    writeln;
    
    seek(f, 0);
    k := 0;
    while not eof(f) do
    begin
        read(f, x);
        t := x;
        s := 0;
        while t > 0 do
        begin
            s := s + sqr(t mod 10);
            t := t div 10;
        end;
        if x mod s = 0 then k := k + 1;
        if x > max - 50 then write(x, ' ');
    end;
    writeln;
    
    writeln(k);
end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

1. Напишите программу, в которой сначала вводится с клавиатуры одно целое число n, а затем выводятся два сообщения: — «Перед числом n идёт число n - 1»; — «После числа n идёт число n + 1». 2. Лесорубы (N) решили, что разделят деревья для сруба (K) только поровну, а получившиеся в остатке от такого деления деревья рубить пока не будут. Напишите программу, которая вводит два числа - N и K, а затем вывод два результата: — количество деревьев, которые достанутся каждому лесорубу для сруба; — количество деревьев, которые останутся нетронутыми.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

olyaartemenko
Екатерина1369
yusliva
ntinyakova
alekseev13602
MelnikovaIvanovna
Koranna1986
stolle16
oskina3
mokeevahelena
NIKOLAEVNA
Bordo
zaha98
sapelnikovk-74
zagadka27