目录
1、c++
#include <bits/stdc++.h>
using namespace std;
const int N=1e6+10;
int a[N],b[N];
int work(int n)
{
int sum=0;
while(n)
{
sum+=n%10;
n/=10;
}
return sum;
}
bool cmp(int x,int y)
{
if(b[x]==b[y]) return x<y;
return b[x]<b[y];
}
int main()
{
int n,m;
cin>>n>>m;
for(int i=1;i<=n;i++) a[i]=i,b[i]=work(i);
sort(a+1,a+1+n,cmp);
cout<<a[m];
}
2、java
import java.util.*;
class Main
{
public static int N=1000010;
public static int[] b=new int[N];
public static Integer[] a=new Integer[N];
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
int n=sc.nextInt(),m=sc.nextInt();
for(int i=1;i<=n;i++)
{
a[i]=i;
int sum=0;
for(int j=i;j>0;j/=10) sum+=j%10;
b[i]=sum;
}
Arrays.sort(a,1,n+1,(x,y)->{
if(b[x]==b[y]) return x-y;
else return b[x]-b[y];
});
System.out.print(a[m]);
}
}