挺简单的,,那么就算的快一点
package blut.Algorithms.mianshi;
/**
* 一段很长的道路,一个油漆工刷路面,他有两种工具,工具1每次可以刷1米,工具2每次可以刷3米,1)问当道路长度是n米时,使用工具1和工具2配合使用刷完全部道路,共有多少种方式?
2)请给出解决方案(伪代码),并附上完整测试方案(白盒单元测试)。
例:
当n=1,1米长道路,应该有1种方式(用工具1刷1次)
当n=3,3米长道路,应该有2种方式(方式1 用工具1刷3次,方式2 用工具2刷1次)
* @author blut
*
*/
public class Demo1 {
public void func(int n){
int i=0;
int j=0;
while(i>0){
j=n%3;
i=(n-j)/3;
}
}
public static void main(String[] args){
int n=10;
int[] count4san=new int[n];
int i=0;//i指 使用工具2的次数
int j=0;
while(i<=n/3){
//31
j=n-3*i;//i 指使用工具1的次数
if(j>=0){
count4san[i]=j;
}
i++;
}
for(i=0;i<count4san.length;i++){
if(count4san[i] != 0){
System.out.println("使用工具1 :"+count4san[i]+" 使用工具2 : "+i);
}
}
}
}