Задача /Secret Door`s Lock/ от вложени цикли свързана с прости числа
Кой може да помогне с поправка на кода, за да има 100/100 в judge ? Имам проблем с определянето на 4 като not prime number.
Това ми е кода:
a = int(input())
b = int(input())
c = int(input())
for i in range(1, a+1):
if i % 2 == 0:
for j in range(2, b+1):
if j % j != 0 or j / 2 != 2:
for k in range(1, c+1):
if k % 2 == 0:
print(f'{i} {j} {k}')
В PyCharm изходите излизат коректно, но в judge е 20/100 . Каква е причината ?
1.Отключване на тайната врата
В града има тайна врата, за която всички знаят, но никой не е успявал да я отключи и да види какво има зад нея. За да бъде отключена трябва да се въведе трицифрен код.
Напишете програма, която генерира комбинации спрямо въведени числа – предположения от потребителя. От конзолата се въвеждат три цифри. Тези цифри ще бъдат горната граница, до която ние искаме да получим всички трицифрени числа, на които всяка една цифра отговаря на следните условия:
- Цифрата на единиците и цифрата на стотиците трябва да бъде четна
- Цифрата на десетиците да бъде просто число в диапазона (2...7).
Това ще са възможните комбинации според въведените предположения от потребителя, с които ще може евентуално да се отключи вратата.
Вход
От конзолата се четът 3 реда:
- Горната граница на стотиците - цяло число в диапазона (1-9)
- Горната граница на десетиците - цяло число в диапазона (1-9)
- Горната граница на едениците - цяло число в диапазона (1-9)
Изход
Да се отпечатат на конзолата всички трицифрени числа, за които всяка една част отговаря на условията по-горе.
Примерен вход и изход
Вход |
Изход |
Обяснения |
3 5 5
|
2 2 2 2 2 4 2 3 2 2 3 4 2 5 2 2 5 4 |
Първото въведено число е 3, отговарящо за максималната стойност на стотиците. Второто въведено число е 5, отговарящо за максималната стойност на десетиците. Третото въведено число е 5, отговарящо за максималната стойността на едениците. Във всички кобинации, които сме получили стотицата ни е 2, защото това е единственото четно число. При десетиците важи друго правило. Там трябва да подберем всички прости числа в диапазона от 2 до 7. В нашия случай тези числа са както следва 2, 2, 3, 3, 5, 5. При единиците важи правилото за четните числа и ако го следваме, получаваме, че резултатът ни е: 2, 4, 2, 4, 2, 4.
|
8 2 8 |
2 2 2 2 2 4 2 2 6 2 2 8 4 2 2 4 2 4 4 2 6 4 2 8 6 2 2 6 2 4 6 2 6 6 2 8 8 2 2 8 2 4 8 2 6 8 2 8 |
|
judge.softuni.bg/Contests/1382
Забележка*: Задачата е предназначена за C# , но не би трябвало това да е проблем.
p.s. поборих се малко със синтаксиса и... 100/100:
Поздрави,
Иван :)
ОК ! Много благодаря ! Успехи !