import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); while (sc.hasNextInt()) { int input = sc.nextInt(); int counter = 0; int tmp=0; while(input!=0){ if(input-input/2*2==1){ counter++; input=(input-1)/2; }else{ input/=2; } } System.out.println(counter); } } }
和入门级的那个题目一样...区别在于这道题需要while死循环实现多组输入.使用除2取余法.较上次的代码有所优化.