题目链接[https://www.oj.swust.edu.cn/problem/show/1613]
题意:输出第K小的由1、4、7数字组成的数字。
解题过程:1、4、7、11、14、17、41、44、47。。。。。。。找规律。
#include<bits/stdc++.h> using namespace std; typedef long long LL; const int maxn = 30; const int mod = 1e9+7; int a[5]={0,1,4,7}; int ans[maxn]; int k; int main () { while(~scanf("%d",&k)) { int len=0; while(k) { int t=k%3; if(t==0) t=3; ans[++len]=a[t]; k=(k-t)/3; } for(int i=len;i>=1;i--) printf("%d",ans[i]); printf("\n"); } return 0; }
时间: 2024-12-18 20:42:49