結果
| 問題 | No.1022 Power Equation |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2020-04-12 10:06:05 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,184 bytes |
| コンパイル時間 | 153 ms |
| コンパイル使用メモリ | 12,800 KB |
| 実行使用メモリ | 22,272 KB |
| 最終ジャッジ日時 | 2024-09-22 02:16:14 |
| 合計ジャッジ時間 | 4,136 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | WA * 1 |
| other | WA * 1 TLE * 1 -- * 6 |
ソースコード
import math
t = int(input())
ni = [int(input()) for i in range(t)]
def primes(n):
is_prime = [True] * (n + 1)
is_prime[0] = False
is_prime[1] = False
for i in range(2, int(n**0.5) + 1):
if not is_prime[i]:
continue
for j in range(i * 2, n + 1, i):
is_prime[j] = False
return [i for i in range(n + 1) if is_prime[i]]
#print(int((10**9+100)**0.5)+1)
pri_li = primes(int((10**9)**0.5)+1)
for i in range(t):
n_num = ni[i]
ans = 0
for j in range(len(pri_li)):
pri_num = pri_li[j]
if pri_num > n_num:
break
for k in range(1,n_num+1):
if k > n_num:
break
else:
tmp = 0
for l in range(1,k+1):
#print(pri_num,k,l,tmp)
if k % l == 0:
if pri_num**l > n_num:
break
tmp += 1
if tmp <= 1:
continue
#print(ans)
ans += math.factorial(tmp)
#print(pri_num,k,l,tmp,ans)
#print(ans)
print(ans+n_num*(2*n_num-1))