| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1038 人关注过本帖
标题:求助JAVA编程
只看楼主 加入收藏
feiyue2006
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2006-3-22
收藏
得分:0 
菲薄那挈递归我知道,就是不知道什么求100到200之间的奇数和
2006-03-22 13:36
feiyue2006
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2006-3-22
收藏
得分:0 
那个方法可能不太好了,要先判断从第几位开始数才大于100,第几位小于200,然后才判断中间的数那个是奇数,在求和,如果给你的题是从100到10000之间的数呢,可能这个方法就不好了,你能写个通用的吗,谢谢
我QQ405763539
2006-03-22 13:41
feiyue2006
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2006-3-22
收藏
得分:0 
这是斐波那契数列原程序
下面代码求斐波那契数列第n项,斐波那契数列第一和第二项是1,后面每一项是前两项之和,即1、1、2、3、5、8、13 。。。。

程序代码:

public class Test {

 public static void main(String args[]) {

  int x1 = 1;

  int sum = 0;

  int n = 7;

  for (int i = 1; i <= n; i++) {

   x1 = func(i);

   sum = sum + x1;

  }

  System.out.println("sum=" + sum);

 }

 public static int func(int x) {

  if (x > 2)

   return (func(x - 1) + func(x - 2));

  else

   return 1;

 }

}

2006-03-22 13:45
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 

目前我只能想到
把n一个一个往上加,加到func(n)大于100的时候,记下这个数,把它存到数组里去
然后再加一直到加到func(n)大于200的时候,然后再判断数组里的数哪些是奇数,是就把它们加起来
这样的方法不会太慢吧,因为func(n)当n变大的时候,它的值大的很快的,不用判断很多就可以得出一个范围之内的数了


可惜不是你,陪我到最后
2006-03-22 14:33
feiyue2006
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2006-3-22
收藏
得分:0 

那你看看能不能在我给你的源程序里改如,if x >=100 and x<=200,
在判断在这之间的数是否为奇数,
用SUM=SUM+FI(I)方法求出和

2006-03-22 14:43
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
一个递增循环

sum=0;
out:for(int i=0;i<100;i++)//这样足够取到200以下的数
{
int j=func(i);
if(j>100&&j<200){
if(j%2!=0)
sum+=j;
}
if(j>200){//如果j大于200,就退出循环了,这样不是很快吗?
break out;
}

}

可惜不是你,陪我到最后
2006-03-22 18:26
feiyue2006
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2006-3-22
收藏
得分:0 

这个题的答案是0

你看看这个程序可不可以

public static int getCount(){

int i = 1;

int j = 1;

int sum=0;

while(i<200 || j<200){

int k = i+j;

if(k>100 && k<200 && k%2!=0){

sum+=k;

}

System.out.println("i="+i);

System.out.println("j="+j);

System.out.println("k="+k);

System.out.println("**********************");

i=j;

j=k;

}

return sum;

}

2006-03-23 15:09
快速回复:求助JAVA编程
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017938 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved