Задача Golang,подскажите с решением
Найдите первое число от 1 до n включительно, кратное c, но НЕ кратное d.
Входные данные
Вводится 3 натуральных числа n, c, d, каждое из которых не превышает 10000.
Выходные данные Вывести первое число от 1 до n включительно, кратное c, но НЕ кратное d. Если такого числа нет - выводить ничего не нужно.
Sample Input:
20
3
5
Sample Output:
3
package main
import "fmt"
func main() {
var n int
var c int
var d int
fmt.Scan(&n)
fmt.Scan(&c)
fmt.Scan(&d)
for i := 1; i <= n; i++{
if i % c == 0 && i % d != 0 {
break
}
fmt.Println(i)
}
}
не получается правильно вывести и скобки
Ответы (1 шт):
вы все сделали почти правильно.
i % c == 0 - проверяем на кратность
i % d != 0 - проверяет что НЕ кратно.
нас должны удовлетворять оба условия. вы поставили оператор И и это тоже верно.
проблема в том, что как только вы нашли это число(попали в if), вы выходите из цикла и не печатаете его. надо немного поменять условие. как только нашли - печатаем его и потом уже выходим из цикла.
for i := 1; i <= n; i++{
if i % c == 0 && i % d != 0 {
fmt.Println(i)
break
}
}