永发信息网

用java完成这个 a0=0,a1=1,....an=an-1+an-2, ,a0=0,a1=1,....an=an-1+an-2,打印出前100项

答案:4  悬赏:40  手机版
解决时间 2021-11-20 10:50
  • 提问者网友:最爱你的唇
  • 2021-11-19 21:55
用java完成这个 a0=0,a1=1,....an=an-1+an-2, ,a0=0,a1=1,....an=an-1+an-2,打印出前100项
最佳答案
  • 五星知识达人网友:走死在岁月里
  • 2021-11-19 23:02
double mFirst=0;
double mSecond=1;
double mResult;
System.out.println(mFirst);
System.out.println(mSecond);
for (int i = 2; i < 100; i++) {
mResult=mFirst+mSecond;
mFirst=mSecond;
mSecond=mResult;
System.out.println(mResult);
}

long类型算到最后会越界,所以用double吧,方法是这样的
全部回答
  • 1楼网友:像个废品
  • 2021-11-20 00:32
an-a(n-1)]
[a(n+1)-an]/[an-a(n-1)]=2
所以an-a(n-1)是等比数列,q=2
所以an-a(n-1)=(a1-a0)*2^(n-1)

所以an-a(n-1)=2^(n-1)
a(n-1)-a(n-2)=2^(n-2)
……
a1-a0=2^0
相加
an-a0=2^(n-1)+……+2^0=2^0*(1-2^n)/(1-2)=2^n-1
所以an=2^n
  • 2楼网友:刀戟声无边
  • 2021-11-20 00:24
你这个公式貌似不对啊 要是an=an-1+an-2 ,套个0进去都是-3啦
  • 3楼网友:罪歌
  • 2021-11-19 23:49
public class func {
public static void main(String[] args) {
double[]a = new double[100];
for(int i=0;i<100;i++){
if(i==0){
a[i]=0;
System.out.println(a[i]);
}
else if(i==1){
a[i]=1;
System.out.println(a[i]);
}
else if(i>1){
a[i]=a[i-1]+a[i-2];
System.out.println(a[i]);
}
}
}
}
100项加起来这么大啊
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯