如果每3个月一只狗就能生出1只小狗,不考虑公母,大小,不可以把所有的狗都买过来。设刚开始是1月,第4月有1200元,能买一只狗,但这时足够3个月,已生出1小狗,这样第4月时:邻居仍有一狗,而那人剩下200元。依此类推,第7月时:邻居仍有一狗,而那人剩下100元;第10月时:邻居仍有一狗,而那人剩下0元。
据此,可用程序模拟:- public class Test{
- public static void main(String[] args)
- {
- int money=0,salary=300,n=1,x=1000;
- for(int i=1;i<=x;i++){
- money+=salary;
- if(i>1 && (i-1)%3==0) n++;
- if(money>=1000){
- n--;
- money-=1000;
- }
- if(n==0){
- System.out.println(i+" 月可以把所有的狗都买过来");
- return;
- }
- if(money<=0){
- System.out.println(i+" 月了,还不可以把所有的狗都买过来");
- return;
- }
- }
- System.out.println(x+" 月还不能把所有的狗都买过来");
- }
- }
复制代码 那人3个月才有900元,邻居3个月产出一小狗:1000元,可看作邻居的产值高,他追不上。 |