1 条题解
-
0
那么问题来了
注意到他把每个数字拼成一串然后想加每一个数字
他就和从 1-N 的每个数的每一位相加的和是一个效果
由于N很小,那么我们直接从1-N 遍历 计算每个数的位数和 全部相加即为答案
C++
ll n; int main() { AC; cin>>n; ll ans=0; for(int i=1;i<=n;++i) { ll x=i; while(x>0) { ans+=x%10; x/=10; } } cout<<ans; return 0; }Python
n = int(input()) ans = 0 # 遍历 1 到 n 的所有数字 for i in range(1, n + 1): x = i # 拆解每一位数字并累加 while x > 0: ans += x % 10 # 取最后一位 x = x // 10 # 去掉最后一位 print(ans)
- 1
信息
- ID
- 1167
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 2
- 标签
- 递交数
- 3
- 已通过
- 3
- 上传者