解题思路:从第3个数字开始,后一个数字是前2个数字的和
public class text
{
public static void main(String[] args)
{
int num1=1,num2=1,temp;
System.out.format("第1个数是%d%n",num1);
System.out.format("第2个数是%d%n",num2);
for(int i=2;i<30;i++)/*循环28次,刚刚好是第30个数字*/
{
num1+=num2;/*后一个数字是前2个数字的和*/
temp=num1;/* 交换 num1和num2的数值 */
num1=num2;
num2=temp;
System.out.format("第%d个数是%d%n",i+1,num2);
}
}
}
int k = 30;//外部变量,作为计数器
public int sum (int p1, int p2) {
if ( k == 2 ) { //本次调用用于计算第k个值,k==2时直接返回已知数(数列的第二个 1 )
return 1;
}
k--;
return sum(p2, p1+p2);//递归调用:“本次调用用于计算第k-1个值”
}
++++以上请无视+++++++++++++++++++++++++++++++
donywang_w_d 最后写那个的递归方式最好,强烈推荐