На этом форуме отвечают на конкретные вопросы. Фраза «я не понимаю, как решать» — это не вопрос. На вопрос «как решить задачу №X» вас отошлют к материалам сайта kpolyakov.spb.ru. За бессвязный поток слов и неспособность формулировать свои мысли — бан.

Если у вас не сходится ответ на какую-то задачу, пожалуйста сразу представляйте свое «правильное» решение.
Программы "заворачивайте" в тэг [pre2]...[/pre2], при этом сохраняются все отступы и применяется моноширинный шрифт. Если у вас используется сочетание "[i]" для обозначения элемента массива или строки, ставьте пробел после открывающей скобки. Иначе система выделит все дальнейшее курсивом.

Для регистрации на форуме щелкните по ссылке «Вход-регистрация» вверху страницы. В открывшееся окошко «ник» введите свою фамилию на русском языке (например, Иванов). В окошко «пароль» введите придуманный вами пароль, состоящий из латинских букв и цифр. Поставьте галочку в окошке «зарегистрироваться, я новый участник» и нажмите кнопку «ОК».

АвторСообщение



Сообщение: 34
ссылка на сообщение  Отправлено: 20.01.20 20:29. Заголовок: егэ 21 №91


Здравствуйте, что в этой функции нужно найти? Я вообще не могу понять как решать такую задачу. Не затруднит ли вас написать решение с пояснениями?
91) (Д. Муфаззалов, Белград). Напишите в ответе количество различных значений входной переменной a из интервала от 1 до 30 (включая границы), при которых программа выдаёт тот же ответ, что и при входном значении a = 17. Значение a = 17 также включается в подсчёт различных значений a.
var i, k, a: integer;
function f(x: integer; y: integer): integer;
begin
if y = 0 then f := x else f := f(y, x mod y)
end;
begin
k := 0;
readln(a);
for i := 1 to a do
if f(a, i) = i then k := k + 1;
writeln(k);
end.

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 1 [только новые]







Сообщение: 264
ссылка на сообщение  Отправлено: 20.01.20 23:46. Заголовок: Ответ


Здравствуйте, GAF!


 цитата:
function f(x: integer; y: integer): integer;
begin
if y = 0 then f := x else f := f(y, x mod y)
end;


1) функция f(x,y) = y, если y является делителем x.

Проверим, например, для x=4:

f(4,1) = f(1, 4 mod 1) = f(1,0) = 1
f(4,2) = f(2, 4 mod 2) = f(2,0) = 2
f(4,3) = f(3, 4 mod 3) = f(3,1) = f(1, 3 mod 1) = f(1,0) = 1
f(4,4) = f(4, 4 mod 4) = f(4,0) = 4

2) для a = 17 количество делителей будет равно 2 (17 делится без остатка на 1 и на 17, то есть является простым числом). K = 2.

3) количество различных значений входной переменной a из интервала от 1 до 30 (включая границы), при которых программа выдаёт тот же ответ (k=2), что и при входном значении a = 17, будет равно количеству простых чисел в интервале [1, 30].

Это числа 2, 3, 5, 7, 11, 13, 17, 19, 23, 29.
Всего их 10.

Ответ: 10.

Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 1817
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет