int left=0,sum=0,newBott=0
int N=34,M=3//要改M,N值在这里改
newBott = N
sum =N
if(M==1){System.out.println("无限换")}
else
{
while((newBott+left)>=M) //如果还能换
{
int temp1 = (newBott+left)%M //换了之后剩下不够换的
int temp2 = (newBott+left)/M //换出来新的
left = temp1
newBott = temp2
sum = sum + newBott + left//罩则宏总数增加物册
}
System.out.println("一共可换 "+sum+ " 瓶")
}
//------------------------------反向算法,就是知道P,M算出N---------------------------------------------
int left=0,sum=0,newBott=0
int N,M=15,P=222//要改M,P值在这里改
labelA: for(N=MN<PN++)
{
if(M==1){N=1System.out.println("需要 "+ N+ "瓶")break} //如果可以1瓶换1瓶,那就只用1瓶
if(M==0){N=PSystem.out.println("需要 "+ N+ "瓶")break} //如果可以1瓶换0瓶,那就盯正用P瓶
sum =N
newBott = N
while((newBott+left)>M)
{
int temp1 = (newBott+left)%M
int temp2 = (newBott+left)/M
left = temp1
newBott = temp2
sum = sum + newBott + left
if(P==sum){System.out.println("需要 "+ N+ "瓶")
break labelA}
}
}
//--------------------------------------------------------------------------------
public static void main(String[] args) {// TODO 自动生成的冲孙方法存根
int x,y
x=100//x的值可以册运自己指定散姿链,在这里假设100
y=100//y的值等于x的值
while(x/2!=1){
y=y+x/2
if(x%2!=0){
x=x/2+1
}
else{
x=x/2
}}
if(x==3){
y+=2
}
else{
y+=1
}
System.out.println("x元可以喝:"+y+"瓶")
}
}
//我调试过了,应该没有问题
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)