段很長的道路,一個油漆工刷路面,他有兩種工具,工具1每次可以刷1米,工具2每次可以刷3米,1)問當道路長度是n米時,使用工具1和工具2配合使用刷完全部道路,共有多少種方式?

挺簡單的,,那麼就算的快一點

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);
			}
		}
	}
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章