問題の説明
3つの整数a、b、およびcが与えられ、整数がaの整数倍でも、bの倍数でも、cの整数倍でもない場合、この数値は逆倍数と呼ばれます。
1からnまでの逆倍数はいくつありますか?
入力フォーマット入力
の最初の行には整数nが含まれています。
2行目には、2つの隣接する数値の間のスペースで区切られた3つの整数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.ArrayList;
import java.util.Scanner;
public class 测数 {
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
int n=s.nextInt();
int a=s.nextInt();
int b=s.nextInt();
int c=s.nextInt();
if(n>0&&n<1000001&&a>0&&a<=n&&b>0&&b<=n&&c>0&&c<=n) {
ArrayList<Integer> list=new ArrayList<Integer>();
for(int i=0;i<=n;i++) {
if(i%a!=0&&i%b!=0&&i%c!=0) {
list.add(i);
}
}
System.out.print(list.size());
}
}
}