level 1
这是代码
public class houzichitao{
public static void main(String[] args){
double before =0;
double before1=0;//吃之前还有几个桃子
boolean flag = true;
double after=0;//吃之后还剩多少桃子
while(flag){
before+=2.0;//桃子的个数只能是双数
before1=before;//记录一开始有几个桃子
for(int i=1;i<=9;i++){//i是天数
after=before-((before/2)+1);
before=after;
}
if (after==1.0){//如果第九天吃完还剩一个桃子,则满足条件,输出之前记录的桃子总数
System.out.print(before1);
flag=false;
}
}
}
}
2022年09月22日 02点09分
2
谢谢大佬们找到错的原因了,原因是while里的before经过after赋值后不再是一开始的桃子数了,所以要在while下面加个before=before1;
2022年09月22日 14点09分
你这逻辑肯定有问题,你仔细看看你的while循环里面的bofore,最大值是2.0,我只能说分分钟死循环,接着走完for int=1,before就变成0了,完了后面直接变负数了
2022年09月22日 17点09分
level 1
你这思路看起来乱糟糟的,一个循环就能解决了,不需要那么多判定
public static void main(String[] args) {
int lastCount = 1;
int eatingDay = 10;
for (int day = 1; day < eatingDay; day++){
lastCount = (lastCount + 1) * 2;
}
System.out.println(lastCount);
}
2022年09月22日 03点09分
6
这个是逆向思维吗,谢谢大佬的回答。
2022年09月22日 04点09分
@一叶知秋🍁🍁🌿 ��是吧,建议刷下算法,这种是最基础的动归题,如果要工作的话还是需要掌握的,单纯学着玩的哈当我没说
2022年09月22日 05点09分
@佟悬叶lv4 我刚开始学5天,还有很长的路要走。
2022年09月22日 06点09分
@一叶知秋🍁🍁🌿 ��量去牛客或者其他地方问问题,贴吧都是用来吹水的
2022年09月22日 07点09分
level 3
f(10);
f(int n){
return n==1?1:2*f(n-1)+1;}
2022年10月01日 08点10分
12