解题代码
#include<cstdio>
int main() {
int n, a = 1, ans = 0, left, now, right;
scanf("%d", &n);
while (n / a) {
left = n / (a * 10);
now = n / a % 10;
right = n % a;
if (now == 0) ans += left * a;
else if (now == 1) ans += left * a + right + 1;
else ans += (left + 1) * a;
a *= 10;
}
printf("%d", ans);
return 0;
}
测试结果
问题整理
1.简单数学。
2.找规律。