段很长的道路,一个油漆工刷路面,他有两种工具,工具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);
			}
		}
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值