gcd gbs
1 #include <iostream> 2 #include <string.h> 3 #include <algorithm> 4 #include <stdio.h> 5 using namespace std; 6 long long gcd(long long a,long long b){ 7 if (b==0) 8 return a; 9 return gcd(b,a%b); 10 } 11 long long gbs(long long a,long long b){ 12 return a*b/gcd(a,b); 13 } 14 int main() 15 { int n,a,b; 16 long long p,q,num1,num2,num3; 17 scanf("%d%d%d%I64d%I64d",&n,&a,&b,&p,&q); 18 num1=n/a; 19 num2=n/b; 20 num3=n/gbs(a,b); 21 printf("%I64d\n",(num1-num3)*p+(num2-num3)*q+num3*max(p,q)); 22 return 0; 23 }