結果
問題 | No.1452 XOR×OR |
ユーザー | boutarou |
提出日時 | 2021-03-31 15:51:32 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 38 ms / 2,000 ms |
コード長 | 518 bytes |
コンパイル時間 | 423 ms |
コンパイル使用メモリ | 12,544 KB |
実行使用メモリ | 10,880 KB |
最終ジャッジ日時 | 2024-07-02 15:41:12 |
合計ジャッジ時間 | 2,527 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 36 |
ソースコード
n = int(input()) def popcount(x): res = 0 while x > 0: if x % 2 == 1: res += 1 x //= 2 return res def solve(a, b): cnt = popcount(a) while a > 0 or b > 0: if a % 2 == 1 and b % 2 == 0: return 0 a //= 2 b //= 2 res = 1 for _ in range(cnt - 1): res *= 2 return res x = 1 ans = 0 while x * x <= n: if n % x != 0: x += 1 continue a = x b = n // x ans += solve(a, b) x += 1 print(ans)