小猴吃桃问题的改动,确定桃数求天数

 小猴在一天内摘了94个桃子,当天吃掉一半多一个,以后每天都吃尚存桃子的一半多一个,问小猴直到第几天早上要吃时只剩下一个了?

#include "stdio.h"
void main()
{
    int num = 94;
    int day = 1;
    while(1){
    	num = num/2-1;
    	day++;
    	if(num==1){
    		break;	
    	}
    	
    }
    printf("day=%d",day);
}

 

可以用递归函数解决

int fun(int n)
{
    n = n/2-1;
    if(n == 1)
        return 1;
    return 1+fun(n);
}

void main()
{
    int days = 1+fun(94);
}

 

#include <stdio.h>
int main(){
	    int t=0;
	    int sum=94;
		while(sum!=1){
		    sum=sum/2-1;
		    t++;
		}
	    
		printf("%d",t);
	
	return 0;
}