給定三個整數 a, b, c,如果一個整數既不是 a 的整數倍也不是 b 的整數倍還不是 c 的整數倍,則這個數稱爲反倍數。請問在 1 至 n 中有多少個反倍數。

題目:反倍數

問題描述
  給定三個整數 a, b, c,如果一個整數既不是 a 的整數倍也不是 b 的整數倍還不是 c 的整數倍,則這個數稱爲反倍數。
  請問在 1 至 n 中有多少個反倍數。

輸入格式
  輸入的第一行包含一個整數 n。
  第二行包含三個整數 a, b, c,相鄰兩個數之間用一個空格分隔。

輸出格式
  輸出一行包含一個整數,表示答案。

樣例輸入
30
2 3 6

樣例輸出
10

樣例說明
  以下這些數滿足要求:1, 5, 7, 11, 13, 17, 19, 23, 25, 29。

評測用例規模與約定
  對於 40% 的評測用例,1 <= n <= 10000。
  對於 80% 的評測用例,1 <= n <= 100000。
  對於所有評測用例,1 <= n <= 1000000,1 <= a <= n,1 <= b <= n,1 <= c <= n。

解題思路:暴力就完事了

代碼

import java.util.Scanner;

public class 反倍數 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int a = sc.nextInt();
        int b = sc.nextInt();
        int c = sc.nextInt();
        sc.close();
        int count = 0;
        for (int i = 1; i <= n; i++) {
            if (i % a != 0 && i % b != 0 && i % c != 0) {
                count++;
            }
        }
        System.out.println(count);
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章