不能被整除的数

来源:互联网 发布:caxa数控车自动编程 编辑:程序博客网 时间:2024/05/06 19:57

不能被整除的数

时间限制:1000 ms  |  内存限制:65535 KB
难度:1
描述

给你一个数N  再给你3个数a,b,c求1到N内即不能被a,b整除,也不能被c整除的数

 

输入
有多组测试数据
每次输一个数N 接下来输入3个数a,b,c
输出1~N不能被a,b,c整除的数字的个数
0<=N<=2*10^9 a,b,c 都不大于N。N=0时不做处理并且结束
输出
输出1~N不能被a,b,c整除的数字的个数
每次输出占一行
样例输入
10005 6 8203 4 5
样例输出
6008

import java.util.Scanner;public class Main {public static long gcd(long a, long b) {return b == 0 ? a : gcd(b, a % b);}public static void main(String[] args) {Scanner scanner = new Scanner(System.in);long number = scanner.nextLong();while (number != 0) {long a = scanner.nextLong();long b = scanner.nextLong();long c = scanner.nextLong();long num1 = a * b / gcd(a, b);long num2 = a * c / gcd(a, c);long num3 = b * c / gcd(b, c);long temp = num1 * c / gcd(num1, c);long sum = number - (number / a + number / b + number / c - number / num1 - number / num2 - number / num3 + number / temp);System.out.println(sum);number = scanner.nextLong();}}}


原创粉丝点击