京东幸运数
幸运数
http://www.nowcoder.com/questionTerminal/4d1afe11171c44a385287e29092cdb3f
二进制数位之和与十进制数位之和相等
思路很简单,从1-n穷举遍历即可
import java.util.*;
public class Main{
//十进制数位之和
public static int f(int n){
int cnt=0;
while(n>0){
cnt+=n%10;
n/=10;
}
return cnt;
}
//二进制数位之和
public static int g(int n){
int cnt=0;
while(n>0){
cnt+=n&1;
n=n>>1;
}
return cnt;
}
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int cnt=0;
for(int i=1;i<=n;i++){
if(f(i)==g(i)){
cnt++;
}
}
System.out.println(cnt);
}
}
CVTE公司福利 669人发布
查看2道真题和解析
