试试这个
方法1.
#include<iostream>
using namespace std;
int main(){
int a,days=1;
cin>>a;
while(a>1)
days++,a/=2;
cout<<days;
}
方法2.
#include <stdio.h>
int main() {
int s, i;
scanf("%d", &s);
for (i = 0; s >= 1; i++) {
s /= 2;
}
printf("%d", i);
return 0;
}
每次除2都是表示过了一天,且a最后在等于1时虽然满足if条件后退出循环,但是i++仍进行一次,那么应该是输出i,把i+2改成i