森林里有一只熊怪,很爱吃核桃。不过它有个习惯,每次都把找到的核桃分成相等的两份,吃掉一份,留一份。如果不能等分,熊怪就会扔掉一个核桃再分。第二天再继续这个过程,直到最后剩一个核桃了,输入桃子数,请问,它在吃这些核桃的过程中,一共要丢掉多少个核桃。
import java.util.Scanner;
public class A2015_1 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.println(“请输入现有桃子数量:”);
long zong=input.nextLong();
fen(zong);
}
public static void fen(long zong) {
int sum=0;
long num=zong;
for(int i=0;i<zong;i++) {
if(num%2!=0) sum+=1;
num=num/2;
if(num==1) break;
}
System.out.println(“总共扔掉桃子数为:”+(sum+1));
}
}