有两个题,求java代码:希望哪位朋友能帮我解决下,谢谢

1、有一对花猫,从出生后第3个月起每个月都生一对小花猫,小花猫长到第三个月后每个月又生一对小花猫,假如小花猫都不死,问每个月的小花猫总对数为多少?

提示:.程序分析: 小花猫的规律为数列1,1,2,3,5,8,13,21....

2、有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
给你点提示代码,也不能希望别人全部把代码都给你写出来啊,那你还学习什么!!
1.除了一二月小花猫数量为1外,其他月数的小花猫数量都是前两个月的卖腔数神配嫌量之和,我想你应该会写代码了吧。。
if(month == 1 || month == 2){
//输出小花猫数量为1
}
esle{
int sum = 0;
for(i=3;i<=month;i++){
sum = sum + 2;
//输游手出该月小花猫的数量
}
}

没时间了 学校断电了 明天给你补上!!
1:
public static void main(String[] args) {
int month;
month = (int) InputUtil.input();

Integer sum[]= new Integer[month] ;
sum[0] = 1;
sum[1] = 1;

for(int i=2;i<month;i++){
sum[i] = sum[i-1]+sum[i-2];
System.out.print(i+"个月"+sum[i]+" ");
}
System.out.println("\n");
System.out.println(month+"察滚 "+sum[month-1]);
}

2:

main()
{
int i,k,m,n,num[50],*p;
scanf("%d",&n);
p=num;
for(i=0;i<n;i++)
*(p+i)=i+1; /给每个人编号
i=0; /i为芹做每次循环时的计数变量
k=0; /k为1 2 3 数的报数 变嫌没衡量
m=0; /m为退出的人数
while(m<n-1)
{
if(*(p+i)!=0) k++;
if(k==3)
{ *(p+i)=0; /对退出的人编号为0
k=0;
m++;
}
i++;
if(i==n)i=0; /报数到尾后i恢复为0
}
while(*p==0) p++;
printf("%d is left\n",*p);
}
建议你看下谭浩强的c语言那本书,里面有很多类似的基础但很重要的编程题
额额额。。