igraparkGP51
?>

Pascal найти 20 первых натуральных чисел, делящихся нацело на 13 или на 17 и находящихся в интервале, левая граница которого равна 500.

Информатика

Ответы

ag-modul
На интервале с левой границей 500 первое число, кратное 13, равно 507, а первое число, кратное 17, равно 510. Числа, кратные 13, образуют последовательность 507, 520, 533, ..., а числа, кратные 17, образуют последовательность 510, 527, 544, ... Для решения задачи достаточно объединить эти последовательности в одну, упорядоченную по возрастанию и взять первых 20 её членов.

Как получить 507 и 510? Первое число m, не меньшее некоторого k и кратное n определяется по простому алгоритму. Пусть p = k mod n - остаток от целочисленного деления k на n. Если p=0, то m=k, в противном случае m=k+n-p.
Проверим для k=500, n=13.
p = 500 mod 13 = 6. p≠0 ⇒ m = 500+13-6 = 507.

Поскольку 17>13, в последовательности чисел, кратных 17, их не может быть больше половины искомого количества, т.е. больше 20/2=10. А десятый член последовательности 510, 257, ... это 510+9×17 = 663. Тем более, это значение не может быть превышено в последовательности чисел, кратных 13, их там будет (663-507)/13=12.

Окончательно: строим последовательности из 12 чисел ряда 507, 520, 533... и 10 чисел ряда 510, 527, 544, ... объединяем их в последовательность, упорядоченную по возрастанию и берем 20 первых ее членов.

PascalABC.NET 3.3.5, сборка 1660 от 20.04.2018
Внимание! Если программа не работает, обновите версию!

begin
  (SeqGen(12,507,t->t+13)+SeqGen(10,510,t->t+17)).OrderBy(t->t)
      .Distinct.Take(20).Println
end.

Результат
507 510 520 527 533 544 546 559 561 572 578 585 595 598 611 612 624 629 637 646
azarov8906
Program z;
var x,k:integer;
begin
x:=500;
k:=0;
while k<20 do
beginif (x mod 13=0) or (x mod 17=0) then begin writeln(x); k:=k+1; end;
x:=x+1;
end;
end.
Станиславович1830
Классическая задача про рыцарей, лжецов и нормальных людей. Есть шесть высказываний, три пары по два. Следовательно, у нас 6 вариантов развития событий, т.к. каждый из них может быть либо лжецом, либо рыцарем (всегда говорящим правду), либо нормальным (который и так и так). Перейдем к символьным обозначениям.
A: A невиновен, С виновен
B: С невиновен, A виновен
С: С невиновен, B невиновен
Для начала, С не может быть лжецом, т.к. в противном случае он бы утверждал, что и В и С виновны.
Далее, если С говорит правду, то А виновен, и В придется ему противоречить, т.к. если В лжец, то С виновен, а мы знаем, что виновен А, а если В нормальный, либо А и С виновный, чего быть не может, либо А и С невиновны, что противоречит С. 
Получаем, что С нормальный.
Тогда либо В правда, тогда А виновен, и лжец, и это вызовет противоречие с С (из его слов выходит, что либо В, либо С виновен).
Либо А правда, тогда С виновен, и В лжец, что противоречий не вызывает. ответ таков - А сказал правду оба раза, В лжец, а С один раз соврал и один раз сказал правду. И при этом С утаил клад. Тогда можно спокойно отпускать Смита и Джона.
TOKAREVA Stepan

Джон и Смит

Объяснение:

1. Допустим дважды правду сказал Джон. Тогда Браун невиновен, а Смит - виновен. Смит, утверждая, что он невиновен, солгал. Он также солгал, обвиняя Брауна. Следовательно Браун один раз сказал правду. Проверим. Браун сказал, что это не он и не Джон, т.е. сказал правду дважды, что противоречит нашему выводу. Следовательно, Джон не мог дважды сказать правду.

2. Допустим, дважды правду сказал Браун. Тогда он невиновен, и Джон невиновен, следовательно, виновен Смит. Смит заявил что он невиновен и солгал. Он также обвинил Брауна и солгал еще раз. Значит, один раз правду сказал Браун. Эту версию мы проверяли выше, следовательно исходное допущение неверно.

3. Методом исключения получаем, что дважды правду сказал Смит. Он невиновен, а виновен Браун. Браун, говоря что он невиновен солгал, а его оправдание Джона - правда. Получается, что дважды солгал Джон. Он оправдал Брауна - и это ложь. Также ложно его обвинение Смита.

Противоречий нет, следовательно невиновны Джон и Смит

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

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

Pascal найти 20 первых натуральных чисел, делящихся нацело на 13 или на 17 и находящихся в интервале, левая граница которого равна 500.
Ваше имя (никнейм)*
Email*
Комментарий*

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

helena-belozerova
randat887040
zdanovich90764
КузменковаЖигулин
asyaurkova
Сулейманова
info8
beaevgen711
olgusikok
Svetlana1335
Olesyamilenina8
lyubavalev8
tarja4140
zerckaln
evolkova-73