问题陈述
在以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;
}
本文探讨了如何在由0和2构成的十进制正整数中寻找第K个最小的整数,并提供了一个具体的算法实现。该问题定义了输入格式、输出要求及示例输入输出,适用于算法竞赛或数据结构学习。
1162

被折叠的 条评论
为什么被折叠?



