Кислинская1055
?>

Найдите наименьшее целое положительное число, на которое не делится хотя бы одно из n данных целых положительных чисел. формат входных данных: в первой строке дано одно целое число. в следующей строке через пробел заданы n целых чисел. выведите одно целое положительное число — ответ на . язык програмирования - любой. нужна сама программа.

Информатика

Ответы

elhovskoemodk

Делаем то, что написано в условии: считываем n (нам оно дальше не понадобится), и a – список из целых чисел. Затем перебираем все возможные варианты делителя d, начиная с 2 (на 1 всё гарантированно делится). Пока все числа из a делятся на d, увеличиваем d, иначе выходим из цикла и печатаем найденное значение.

python 3.6:

n = int(input())

a = [int(x) for x in input().split()]

d = 2

while all(x % d == 0 for x in a):

   d += 1

print(d)

andre6807

Объяснение:

program Randomizer;

const

   RndLimit = 10000;

var

   x, SumX : integer;

begin

 SumX := 0;

 // Коммент: случайное число в паскале всегда генерируется от 0 до заданного но нам необходимо от 1000, поэтому в цикле repeat...until оно будет генерироваться до тех пор, пока не станет > 999

 Repeat x := Random(RndLimit) until x > 999;

   writeln ('Random X= ', x);

   SumX := SumX + (x div 1000) + (x mod 1000 div 100) + (x mod 1000 mod 100 div 10) + (x mod 1000 mod 100 mod 10);

 writeln ('Sum = ', SumX);

end.

запускаем

Free Pascal Compiler version 2.6.2-8 [2014/01/22] for x86_64

Copyright (c) 1993-2012 by Florian Klaempfl and others

Target OS: Linux for x86-64

Compiling main.pas      

Linking a.out             

21 lines compiled, 0.1 sec

Random X= 5488            

Sum = 25

Khiryanov

Дважды подряд записать трехзначное число — это значит умножить его на  1001. Умножив на 1000, мы получаем исходное число с тремя нулями. Добавляем к полученному числу еще один раз исходное число. Получается число, в записи которого дважды повторяются цифры исходного числа.  

Последовательно разделить на 13, 11 и 7 –  значит разделить число на произведение 13 * 11* 7,  которое равно 1001.

Получается, что мы число сначала умножаем на 1001, а после делим на 1001. Естетственно, у нас получится исходное число:

(n * 1001) / (13 * 11 * 7) = (n * 1001) / 1001 = n.

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

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

Найдите наименьшее целое положительное число, на которое не делится хотя бы одно из n данных целых положительных чисел. формат входных данных: в первой строке дано одно целое число. в следующей строке через пробел заданы n целых чисел. выведите одно целое положительное число — ответ на . язык програмирования - любой. нужна сама программа.
Ваше имя (никнейм)*
Email*
Комментарий*

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

yamal-toy
Aleksandrovna-Marina
vik1223
skyey
Алексеевич620
samuilik-v
zadvornovakrmst
Некрасов Валентина1097
Елизавета Александр2011
Попова1271
eronch
keshka12719
dentinnsmr467
vfif-804828
Сорокина