Not Divisible Numbers

Опитвам се да реша задачата, като за да отделя числата, неделими на 3 и 7 , използвам for и if … % 3 != 0 , но като резултата програмата принтира всички числа от 1 до n. Дали може малко помощ, за да си открия грешката?
това е кодът:

import java.util.Scanner;

public class From_1_to_N {

public static void main(String[] args) {

    Scanner Input = new Scanner(System.in);
    int n = Input.nextInt();
   int i = 1;
    while (i<=n) {

        if ( i%7 !=0 || i%3 !=0 ) {
        System.out.print(i + " ");     }
        i++;
    }
  }
}
1 Like

Логическият оператор „или“ (||) изисква поне едното от двете твърдения да е вярно. В случая ти принтираш стойностите делими на 7 с остатък или на 3 с остатък. Най-малкото позитивно число, което не изпълнява това условие е 21 (поправете ме ако греша), за това не получаваш очаквания отговор.
Просто ако заместиш оператора „или“ (||) с оператора „и“ (&&) ще получиш очаквания от теб резултат.

1 Like

да, наистина, мерси много !