結果
| 問題 | 
                            No.1164 GCD Products hard
                             | 
                    
| ユーザー | 
                             | 
                    
| 提出日時 | 2020-08-11 15:37:22 | 
| 言語 | Python3  (3.13.1 + numpy 2.2.1 + scipy 1.14.1)  | 
                    
| 結果 | 
                             
                                TLE
                                 
                             
                            
                         | 
                    
| 実行時間 | - | 
| コード長 | 570 bytes | 
| コンパイル時間 | 360 ms | 
| コンパイル使用メモリ | 12,672 KB | 
| 実行使用メモリ | 74,880 KB | 
| 最終ジャッジ日時 | 2024-10-09 11:27:00 | 
| 合計ジャッジ時間 | 7,979 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge1 / judge3 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | -- * 2 | 
| other | TLE * 1 -- * 26 | 
ソースコード
a, b, n = [int(i) for i in input().split()]
ans = 1
mod = 10**9+7
table = [True] * (b + 1)
table[0] = False
table[1] = False
for i in range(b + 1):
    if table[i]:
        for j in range(i * i, b + 1, i):
            table[j] = False
        lower = (a-1)//i
        upper = b // i
        power = 0
        while True:
            power += pow(upper - lower, n, mod - 1)
            power%=mod-1
            lower //= i
            upper //= i
            if upper - lower == 0:
                break
        ans *= pow(i, power, mod)
        ans %= mod
print(ans)