本帖最后由 悟中生有 于 2013-12-7 14:17 编辑
题目是:一张厚0.01m的纸,每折一次厚度增加2倍,求折几次后厚度会到达8848m(厚度不小于8848m)?
以下是我自己写的代码,请高手看看是否可行?
/**
要求:
一张厚0.01m的纸,每折一次厚度增加2倍,
求折几次后厚度会到达8848m(厚度不小于8848m)?
思路:
1,有一个未知数,两个变量,折的次数未知,纸的厚度在不断变化。
2,定义一个int型变量x初始化值为0代表折纸的次数,
3,运用for循环实现厚度的增加,循环内部定义一个double型变量(有小数存在)y,运用if语句判断y的值大于8848时,循环结束。
4,获取x的值得知折纸次数。
*/
class CiShu {
public static void main(String[] args) {
int x = 0; //定义一个int型变量x
for (double y = 0.01;y<=8848 ;y = y+y) //for循环体。
{
if(y<=8848) //当y的值大于8848时,循环结束。
x++; //循环一次x的值自增一次。
}
System.out.println("x="+x); //输出最终x的值既折纸的次数。
}
}
|