
java编程题 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
5个回答
展开全部
public class Shulie {
public static void main(String[] args) {
int fenzi = 1;
int fenmu = 2;
double sum = 0.0D;
int count = 1;
while(count <= 20){
if(count == 1){
sum += (double) fenmu /fenzi;
}else{
int temp = fenmu;
fenmu = fenzi + fenmu;
fenzi = temp;
sum += (double) fenmu/fenzi;
}
count++;
}
System.out.println("2/1 + 3/2 + 5/3 + ... + " + fenzi + "/" + fenmu + "=" + sum);
}
}
-----------------testing
2/1 + 3/2 + 5/3 + ... + 10946/17711=32.66026079864164
public static void main(String[] args) {
int fenzi = 1;
int fenmu = 2;
double sum = 0.0D;
int count = 1;
while(count <= 20){
if(count == 1){
sum += (double) fenmu /fenzi;
}else{
int temp = fenmu;
fenmu = fenzi + fenmu;
fenzi = temp;
sum += (double) fenmu/fenzi;
}
count++;
}
System.out.println("2/1 + 3/2 + 5/3 + ... + " + fenzi + "/" + fenmu + "=" + sum);
}
}
-----------------testing
2/1 + 3/2 + 5/3 + ... + 10946/17711=32.66026079864164
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
递归算法。很简单。
public class display{
public double sum;
public void plus(int fenzi,int fenmu,int num){
if(num>0)
{
sum += 1.0*fenzi/fenmu;
plus(fenzi+fenmu,fenzi,num-1);
}
}
public static void main(String args[]){
display aa = new display();
aa.sum = 0;
aa.plus(2,1,20);
System.out.println("sum is " + aa.sum);
}
}
public class display{
public double sum;
public void plus(int fenzi,int fenmu,int num){
if(num>0)
{
sum += 1.0*fenzi/fenmu;
plus(fenzi+fenmu,fenzi,num-1);
}
}
public static void main(String args[]){
display aa = new display();
aa.sum = 0;
aa.plus(2,1,20);
System.out.println("sum is " + aa.sum);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public static void main(String[] args) {
int a=2;//分子
int b=1;//分母
double sum=0;//结果
for(int i=1;i<=20;i++){
sum+=a/b;
int c=js(a,b);
b=a;
a=c;
}
System.out.println(sum);
}
public static int js(int a,int b){
int s=a+b;
return s;
}
int a=2;//分子
int b=1;//分母
double sum=0;//结果
for(int i=1;i<=20;i++){
sum+=a/b;
int c=js(a,b);
b=a;
a=c;
}
System.out.println(sum);
}
public static int js(int a,int b){
int s=a+b;
return s;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public void sum20(){
double sum = 21;
int count = 1;
int first = 1, second = 2;
while(count<20){
sum += first/second;
second += first;
first = second - first;
count++;
}
return sum;
}
double sum = 21;
int count = 1;
int first = 1, second = 2;
while(count<20){
sum += first/second;
second += first;
first = second - first;
count++;
}
return sum;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public class TestNum {
public static void main(String[] args) {
float fm = 1f;
float fz = 1f;
float temp;
float sum = 0f;
for (int i=0;i<20;i++){
temp = fm;
fm = fz;
fz = fz + temp;
sum += fz/fm;
}
System.out.println(sum);
}
}
public static void main(String[] args) {
float fm = 1f;
float fz = 1f;
float temp;
float sum = 0f;
for (int i=0;i<20;i++){
temp = fm;
fm = fz;
fz = fz + temp;
sum += fz/fm;
}
System.out.println(sum);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询