Задания
Версия для печати и копирования в MS Word
Тип Д22 № 5247
i

Ниже на пяти язы­ках про­грам­ми­ро­ва­ния за­пи­сан ал­го­ритм. По­лу­чив на вход число N, этот ал­го­ритм пе­ча­та­ет число q. Ука­жи­те наи­мень­шее из таких чисел N, при вводе ко­то­ро­го ал­го­ритм на­пе­ча­та­ет 13.

 

 

Бей­сикПас­каль

DIM N, q, i AS INTEGER

INPUT N

FOR i = 1 TO N - 1

IF N MOD i = 0 THEN q = i

NEXT i

PRINT q

var N, q, i: integer;

begin

read(N);

for i : = 1 to N - 1 do begin

if N mod i = 0 then q : = i

end;

write(q)

end.

Си++Ал­го­рит­ми­че­ский язык

#include <iostream>

using namespace std;

int main()

{

int N, q, i;

cin >> N;

for (i = 1; i <= N - 1; i++) {

if (N%i == 0) q = i;

}

cout « q « endl;

}

алг

нач

цел N, q, i

ввод N

нц для i от 1 до N - 1

если mod(N, i) = 0

то q : = i все

кц

вывод q

кон

Python

n = int(input())

for i in range(1, n):

    if n % i == 0:

        q = i

print(q)

Спрятать решение

Ре­ше­ние.

Фраг­мент кода на­хо­дит наи­боль­ший де­ли­тель N,не рав­ный са­мо­му числу N. Для наи­мень­ше­го N де­ли­тель равен 2, сле­до­ва­тель­но, N=13 · 2 = 26.

 

Ответ: 26.

 

При­ведём дру­гое ре­ше­ние на языке Python.

q = 0

for j in range(1, 10000):

n = j

for i in range(1, n):

if n % i == 0:

q = i

if q == 13:

print(j)

break


Аналоги к заданию № 5215: 5247 Все

Раздел кодификатора ФИПИ: