1 条题解
-
0
C++ :
#include <cstdio> typedef unsigned long long ull; static ull F(ull x){ ull s = 0; while(x){ s += x; x /= 10; } return s; } int main(){ ull Y; if(scanf("%llu", &Y) != 1) return 0; ull lo = 1, hi = Y, ans = 0; while(lo <= hi){ ull mid = lo + (hi - lo) / 2; ull v = F(mid); if(v == Y){ ans = mid; break; } if(v < Y) lo = mid + 1; else { if(mid == 0) break; hi = mid - 1; } } if(ans) printf("%llu\n", ans); else printf("-1\n"); return 0; }
- 1
信息
- ID
- 2794
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者