만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

등차수열과 등비수열

시간 제한2초메모리 제한512 MB

요약
1부터 u까지의 정수 중 등차수열 또는 등비수열에 속하는 수의 개수를 중복 없이 센다.
난이도

보통10점 중 5점

유형
수학, 해시맵, 구현, 완전 탐색
정답자
아직 제출이 없습니다

문제

등차수열 AA의 일반항은 a+b×xa + b \times x이고, 등비수열 GG의 일반항은 c×dyc \times d^y이다. 여기서 xx와 yy는 음이 아닌 정수이다.

aa, bb, cc, dd, uu가 주어졌을 때, 11 이상 uu 이하의 정수 중에서 AA나 GG에 속하는 수가 몇 개인지 구하는 프로그램을 작성하시오. 두 수열에 동시에 속하는 수도 센다. 같은 수가 수열에 여러 번 나타나더라도 개수는 한 번만 센다.

입력

첫째 줄에 aa, bb, cc, dd, uu가 공백으로 구분되어 주어진다. (1≤a,b,c,u≤10121 \le a, b, c, u \le 10^{12}, 1≤d≤1051 \le d \le 10^5)

출력

첫째 줄에 11 이상 uu 이하의 자연수 중 등차수열 AA나 등비수열 GG에 속하는 수의 개수를 출력한다.

힌트

a=452a = 452, b=24b = 24, c=4c = 4, d=5d = 5, u=600u = 600인 경우 조건을 만족하는 수는 44, 2020, 100100, 452452, 476476, 500500, 524524, 548548, 572572, 596596이다.

예제4

  1. 예제 1

    입력
    1 1 1 2 1000
    
    예상 출력
    1000
    
  2. 예제 2

    입력
    3 3 1 2 1000
    
    예상 출력
    343
    
  3. 예제 3

    입력
    40 77 40 100000 40
    
    예상 출력
    1
    
  4. 예제 4

    입력
    452 24 4 5 600
    
    예상 출력
    10