import java.util.*; public class Main{ public static boolean isLuckyNumber(int n){ int sum = 0 ; int temp = n ; while(temp!=0){ sum+= temp%10 ; temp = temp/10; } int sum2 = 0 ; int tt = n ; while(tt!=0){ sum2+= tt & 1 ; tt = tt >> 1; } if(sum==sum2) return true; else return false; } public static void main(String[] args){ Scanner cin = new Scanner(System.in); while (cin.hasNextInt()) { int t = cin.nextInt(); while (t--!=0) { int n = cin.nextInt(); if(n<=0) { System.out.println(0); continue; } int count = 0 ; //100000以内所有的幸运数,可根据上边的isLuckyNumber方法事先求出来,存入数组 int[] arr =new int[483]; int k = 0; for (int i = 1; i <=100000; i++) { if (isLuckyNumber(i)) { arr[k++] = i; } } if (n>=90031) { //大于边界值 System.out.println(483); //483是数组的大小 continue; } for (int i = 0; i <arr.length; i++) { if(arr[i]>n){ count = i ; break; } } System.out.println(count); } } } }
点赞 1

相关推荐

做牛做马大喷菇:很难不怀疑是包装的,你简历上的内容,三年经验都挺难做出来
点赞 评论 收藏
分享
牛客网
牛客企业服务