ПредишенСледващото

Формулировка. Като се има предвид две положителни числа. Проверете дали те са приятелски.

Забележка: Номерата наречени приятелски два различни положителни числа, така че сборът от всички правилните делителите на първия брой е равен на втория брой и сумата на всички правилните делителите на второто число е първото число.

Например, 220 и 284 - чифт номера приятелски, защото:

Сума собствени разделители 220: 1 + 2 + 4 + 5 + 10 + 11 + 20 + 22 + 44 + 55 + 110 = 284

Сума собствени разделители 284: 1 + 2 + 4 + 71 + 142 = 220

Решение. Този проблем прилича на проблема, тъй като на 20, също разгледахме в размер на подходящи делители на въведения номер, а след това сравни тази сума на самите числа, тя проверява за перфектно. В този случай, ние трябва да намерим не само сумата от собствените си делители първи номер (посочен като числото 1. н и сумата от своите делители обобщим 1), но също така и втори номер (п 2 означават приемане сума и 2 съответно). След това в отговор проблем ще сравнение: (п = 1 сума 2) и (п = 2 сума 1). Между другото, тук за първи път в нашата история, ние използваме логически операции (припомним, че изразът X 1andX 2 е на стойност вярно, ако и само ако истинските булеви изрази, X 1 и X 2. в други случаи това отнема невярна стойност).

Въпреки това, предложената схема може да бъде опростено. Нека да демонстрираме това с един пример: Да предположим, че броят 8 и 4. Ние вярваме, размерът на собствения делители на 8: 1 + 2 + 4 = 7. Този номер, различен от 4, така че един чифт вече отговаря приятелски номерата на резолюция. Възможно е да се донесе веднага отрицателен отговор, като се избягват изчисляване на сумата от втория разделител. Ако са дадени числата 8 и 7, ще бъде необходимо да се изчисли сумата на собствените си делители на числото 7, е равна на 1 (тъй като тя е проста). Сега трябва да се сравнят сумата на подходящи делители на втората от първия ден: от 1 е различно от 8, броят не е лесен.

Ние показваме в блок-схемата като програмата може да бъде разклонена (както изчисление не суми изобразена):

Проверете дали две числа приятелски, задачата на Паскал, програмиране за

По този начин, може да се направи без логически операции.

Подкрепете проекта - споделете линка, благодаря!