问题陈述
在以10为基数写入的由0和2组成的正整数中,找到第K个最小整数。
约束条件
K是介于1和1018之间
输入
输入来自以下格式的标准输入:
K
输出
将答案打印为整数。
在这里,精确值必须打印为整数,即使它很大。不允许使用指数符号(例如2.34e+22)或不必要的前导零(例如0523)。
10之间的整数
Sample Input 1 Copy
3
Sample Output 1 Copy
22
Sample Input 2 Copy
11
Sample Output 2 Copy
2022
Sample Input 3 Copy
923423423420220108
Sample Output 3 Copy
220022020000202020002022022000002020002222002200002022002200
#include <stdio.h>
int main(void){
long long n,i,b[500]={0};
scanf("%lld",&n);
for(i=0; 0<n; i++){
b[i] = 2*(n % 2);
n = n / 2;
}
i--;
while(i >= 0){
printf("%lld",b[i]);
i--;
}
return 0;
}