| Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|---|
| 43357 | 项奕琳 初二 | 【J】T1 | C++ | 通过 | 100 | 400 MS | 248 KB | 480 | 2026-10-29 12:54:50 |
#include <bits/stdc++.h> using namespace std; #define int long long int n,a[50],k,ans; signed main(){ cin >> n; a[0]=1; for (int i=1; i<=45; i++) a[i] = a[i-1]*2; for (int i=0; i<=45; i++){ if (a[i]>2*n) break; k = (n+1)/a[i]-1; if (k%2==0) k--; for (int j=k; ; j+=2){ if (j*a[i]<n+1) continue; if (j*a[i]>2*n) break; ans += j; } } cout << ans; return 0; }