#E、 消失的零
描述
有一个无限长的正整数序列:
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20…1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20…
调皮的小明把该序列中所有包含00的数字都删掉了!于是这个正整数序列就变成了:
1,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17,18,19,21…1,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17,18,19,21…
现在,请你编程输出该序列的第nn个数。
输入
第一行是一个正整数TT代表测试案例的数量。
每组案例是一个正整数nn。
输出
针对每组案例,在一行中输出该序列的第nn个数。
样例输入
2
1
20
样例输出
1
22
python:
T = int(input())
for _ in range(T):
n = int(input())
count = 0
num = 1
while count < n:
if '0' not in str(num):
count += 1
num += 1
print(num - 1)
c++:
#include <bits/stdc++.h>
using namespace std;
int findNthNumber(int n) {
int count = 0;
int num = 1;
while (count < n) {
int temp = num;
bool hasZero = false;
while (temp > 0) {
if (temp % 10 == 0) {
hasZero = true;
break;
}
temp /= 10;
}
if (!hasZero) {
count++;
}
num++;
}
return num - 1;
}
int main() {
int T;
cin >> T;
while (T--) {
int n;
cin >> n;
cout << findNthNumber(n) << endl;
}
return 0;
}