情景是:一元一瓶的汽水,2个空瓶能换一瓶汽水。
问假如你有X元钱,能喝Y瓶汽水. 用y=f(x)表示
如果是N空瓶换一个空瓶呢,用y=f(x,n)表示
我的代码,如果是2换1:
package lihan;
public class test {
public static Integer digui(int x)
{
if(x==1)
{
return x;
}
if(x%2==1)
return x+digui(x/2)+1;
else
return x+digui(x/2);
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成方法存根
int i=digui(11);
System.out.print(i);
}
}
如果是N换1的话,那么
public class lihan {
public static Integer digui(int x,int n)
{
if(x==1)
{
return x;
}
if(x%n==(n-1))
return x+digui(x/n,n)+1;
else
return x+digui(x/n,n);
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成方法存根
int i=digui(12,3)+1;
System.out.print(i);
}
}