[Homework] C# Basics - Intro to C# - Week 6, Problem 2 - Грешка в условието
Write a program that enters from the console a positive integer n and prints all the numbers from 1 to n not divisible by 3 and 7, on a single line, separated by a space.
n |
output |
3 |
1 2 |
10 |
1 2 4 5 8 10 |
Във въпроса се пита да изпишем числата който не се делят на 3 И 7 а във примера са дадени числата който не се делят на 3 или 7. Кое е правилното?
Тук ключовата думичка едновременно се замества с "и". За това не е доуточнено. Въпросът е дали това е грешка в условието или в аутпута. И аз първоначално се заблудих, че числата в редичката реално си отговарят на условието, но де факто има и други, които отговарят на условието и не са написани.
Посочените примери, независимо дали условието е И или ИЛИ са верни :)
Ох, да прав си Royal :)))
Условието на задачата и outputa отговаря точно на "И", а не както предполага автора, че output-а е за "ИЛИ".
Докъде стигнах да го разписвам в dotnetfiddle.net за да го проверявам
https://dotnetfiddle.net/rSh9GY
a positive integer n and prints all the numbers from 1 to n not divisible by 3 and 7
in: 10
out: 1 2 4 5 8 10
out: 1, 2, 4, 5,
6 % 3 == 0? True
7 % 3 == 0? False
6 % 3 == 0? && 6 % 7 == 0? True AND False = Flase
6 % 3 == 0? || 6 % 7 == 0? True OR False = True
6 го няма в outputa, тоест не отговаря и на двете условия 3 AND 7
@a.angelov в примера който си дал в dotfiddle веднага те вхърля в else-а щом има число което се дели на 3 но не проверява дали това число едновременно се дели и на 7. Същотот и като стигне до 7 то не се дели на 3 но проверява дали се дели на 7 и пак го вхърля в елса защото се дели на 7.
Денис, честно не мога да разбера къде е проблема: нали това е изискването - принтваме ги само ако не се делят на 3 и 7. Разбира се, че щом if-а види, че числото се дели на 3 или на 7 ще хвърли в else...
@а.аngelov 3 не се дели на 7 ==> трябва да бъде в редицата
"@а.аngelov 3 не се дели на 7 ==> трябва да бъде в редицата"
Но 3 се дели на 3 и съответно не отговаря едновременно и на двете условия - not divisible by 3 and 7. И затова не трябва да бъде в редицата.
Спирам да пиша по темата
В едно от предишните имаше да задача да напишем дали дадено число се дели на 5 и на 7 и отговорите и за 5 и за 7 бяха false. В случая пак е същото 3 дели ли се на 3 и 7 (и на двете не само на едно от двете) еми не се дели и на двете.
Да, така е, верни са, но липсват още верни отговори :)