Семеновна-Павел
?>

Склавиатуры вводиться трёхзначное число , составить программу которая проверит делиться ли она на сумму своих чисел

Информатика

Ответы

annademidova-74
Var
A,B:integer;
Begin
WriteLn('Введите целое трёхзначное число');
ReadLn(A);
B:=(A div 100)+((A div 10) mod 10) + (A mod 10);
if (A mod B = 0) then Write(A,' делится на ',B)
else Write(A,' не делится на ',B);
End.
anna-leonova

Пояснення:В качестве кандидатов нужно рассматривать числа, не превышающие  

(

S

1

)

2

, так как в худшем случае составное число вида  

x

2

будет иметь два наибольших делителя  

x

и 1. Время работы этого алгоритма  

O

(

S

4

)

. Можно существенно ускорить вычисления, если учесть, что при поиске разложения на множители числа  

N

можно рассмотреть только числа не превышающие  

N

. Наибольшим делителем числа  

N

будет  

N

a

, где  

a

– наименьший делитель, а вторым наибольшим делителем будет либо  

N

b

, где  

b

– второй по величине делитель  

N

(также либо число, либо  

a

2

), либо  

a

, если  

N

является произведением двух различных чисел, либо 1, если  

N

=

a

2

.

lazu8375

1 а XCIII б MMCXLVI 242919/2=21459 остаток 1

21459/2=10729 остаток 1

10729/2=5364 остаток 1

5364/2=2682 остаток 0

2682/2=1341 остаток 0

1341/2=670 остаток 1

670/2=335 остаток 0

335/2=167 остаток 1

167/2=83 остаток 1

83/2=41 остаток 1

41/2=20 остаток 1

20/2=10 остаток 0

10/2=5 остаток 0

5/2=2 остаток 1

2/2=1 остаток 0

1/2=0 остаток 1

Записав полученные цифры в ряд снизу вверх, получим:

4291910=10100111101001

восьмеричная

Приведем целую часть числа 42919 в систему счисления 8 последовательным делением на число 8:

42919/8=5364 остаток 7

5364/8=670 остаток 4

670/8=83 остаток 6

83/8=10 остаток 3

10/8=1 остаток 2

1/8=0 остаток 1

Записав полученные цифры в ряд снизу вверх, получим:

4291910=1236478

В итоге Получим решение:

4291910 =1236478

шестнадцатеричную

Приведем целую часть числа 42910 в систему счисления 16 последовательным делением на число 16:

42910/16=2681 остаток 14=E

2681/16=167 остаток 9

167/16=10 остаток 7

10/16=0 остаток 10=A

Записав полученные цифры в ряд снизу вверх, получим:

4291010=A79E16

В итоге Получим решение:

4291010 =A79E16

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

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

Склавиатуры вводиться трёхзначное число , составить программу которая проверит делиться ли она на сумму своих чисел
Ваше имя (никнейм)*
Email*
Комментарий*

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

daskal83
ksvish2012
bruise6
Sukharev-Achkasov
Alekseevna1811
grachevakaterina
yrgenson2011801
yanagitsina
gunel1988alieva
А Дзукаев1562
os7960
Vova220
medvik
ogofman
zeltos384