6 回答

TA貢獻1條經(jīng)驗 獲得超1個贊
public static void main(String[] args) {
int j=2,k=1,temp; //temp用于下方交換,j為分子,k為分母
double sum=0.0;
for(int i=1;i<=20;i++){
sum=sum+(double)j/k;
//發(fā)現(xiàn)規(guī)律為后者的分子等于前2者的分子相加,后者的分母等于前者的分子,所以用交換方法
temp=j;
j=j+k;
k=temp;
}
System.out.println(sum);
}

TA貢獻6條經(jīng)驗 獲得超3個贊
根據(jù)規(guī)律,從第二個數(shù)開始,。當前數(shù)等于1加上它前一個數(shù)的倒數(shù)。所以把第一個數(shù)抽出來。
public int count(){
double sum=0;// 定義一個計算和值的變量
double[] count=new double[20]; //定義一個長度為20的數(shù)組存放前20項的值
count[0]=2/1; ? //將第一項抽出來單獨賦值
for(int i=1;i<20;i++){
count[i]=1+ 1/count[i-1]; ? //當前項的值等于1加上 前一項的倒數(shù),用遞歸的方法求值
?sum+=count[0]; ? ?//求前20項的值
}
//這個方法 ?沒有進行分數(shù)優(yōu)化,就是數(shù)據(jù)類型會自動轉(zhuǎn)成double, 我這邊不知道讓他如何進行分數(shù)運行。所以有點遺憾
添加回答
舉報