例如,裏程碑上的數是1240,那麽 個位上它跳過了3和8所以為2;十位上跳過了30-39和80-89,所以為20;百位上它跳過300-399和800-899所以為200,千位為1<3所以為0,所以跳過的數位 222,因此真正走的公裏數為1240-222 = 1018。
C++編程如下:
#include<iostream>
using namespace std;
int main()
{
int n;
cin >> n;
int total = n; //total記錄原來的數字
int m = 0; // m算出需要減掉的數字
int t = 1;
while (n / 10 != 0) {
n = n / 10;
m = m * 10 + 2;
t = 10 * t;
}
if (3 < n && n < 8)
m = m + t;
else if (n > 8)
m = m + 2 * t;
else
;
cout << total - m << endl;
return 0;
}