| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 746 人关注过本帖
标题:求助:2个小编程题,都忘光了。
只看楼主 加入收藏
yuanxl33
Rank: 2
等 级:论坛游民
威 望:1
帖 子:60
专家分:64
注 册:2010-4-11
结帖率:85.71%
收藏
已结贴  问题点数:20 回复次数:9 
求助:2个小编程题,都忘光了。
1.给你4个数字,选其中3个做全排列,一共有多少个不同也不重复的3位数?全部打印出来
2.数列: 2/1 , 3/2, 5/3, 8/5, 13/8, 21/13, 34/21, …… 求前n项之和, 比如 若n=10 则是多少?
我记得是高中的极限和排序题,但是多少年不用全忘了。
搜索更多相关主题的帖子: 编程 高中 极限 
2010-08-19 18:28
shellingford
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:19
帖 子:228
专家分:1348
注 册:2010-8-9
收藏
得分:15 
程序代码:
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;


public class Test2 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner input=new Scanner(System.in);
        String num[]=new String[4];
        for (int i = 0; i < 4; i++) {
            System.out.println("输入第"+(i+1)+"个数");
            num[i]=input.nextInt()+"";
        }
        Set<String> set=new HashSet<String>();
        for (int i = 0; i < 4; i++) {
            for (int j = 0; j < 4; j++) {
                for (int k = 0; k < 4; k++) {
                    if(i==j || j==k || i==k){continue;}
                    String s=num[i]+num[j]+num[k];
                    if(s.startsWith("0")){continue;}//去除0开头的三位数
                    set.add(s);
                }
            }
        }
        System.out.println("个数:"+set.size());
        for (String string : set) {
            System.out.println(string);
        }
    }

}



第二题需要数学解题,不然就算程序算出来也是小数形式
2010-08-19 20:32
shellingford
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:19
帖 子:228
专家分:1348
注 册:2010-8-9
收藏
得分:0 
程序代码:
import java.util.ArrayList;
import java.util.List;


public class Test3 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int n=10;
        List<Integer> list=new ArrayList<Integer>();
        long down=1;
        for (int i = 0; i <= n; i++) {    //生成部分斐波那契数列
            if(i==0 || i==1){
                list.add(i+1);
                down=down*(i+1);
            }else{
                int x=list.get(i-2)+list.get(i-1);
                list.add(x);
                if(i==n){continue;}
                down=down*x;
            }
            
        }
        StringBuilder sb=new StringBuilder();
        long upsum=0;
        for (int i = 1; i < list.size(); i++) {
            sb.append(list.get(i)+"/"+list.get(i-1));
            if(i!=list.size()-1){
                sb.append("+");
            }else{
                sb.append("=");
            }
            upsum=upsum+down*list.get(i)/list.get(i-1);
        }
        System.out.println(sb);
        System.out.println(upsum+"/"+down);
        for (int i = 1; i < list.size(); i++) {//化简
            int x=list.get(i);
            if(upsum % x==0 && down % x==0){
                upsum=upsum/x;
                down=down/x;
                i--;
            }
        }
        System.out.println(upsum+"/"+down);
    }

}



第二题的代码如上
2010-08-19 20:56
wtuaimmmm
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2010-08-19 22:39
wtuaimmmm
该用户已被删除
收藏
得分:5 
提示: 作者被禁止或删除 内容自动屏蔽
2010-08-19 22:42
yuanxl33
Rank: 2
等 级:论坛游民
威 望:1
帖 子:60
专家分:64
注 册:2010-4-11
收藏
得分:0 
回复 4楼 wtuaimmmm
没看明题目
2010-08-20 01:16
yuanxl33
Rank: 2
等 级:论坛游民
威 望:1
帖 子:60
专家分:64
注 册:2010-4-11
收藏
得分:0 
回复 3楼 shellingford
F:\JAVA>java TestArrayList
2/1+3/2+5/3+8/5+13/8+21/13+34/21+55/34+89/55+144/89=
179705021940/10904493600
998361233/60580520
结果好像不尽如人意。不熟悉数学公式真的很令人郁闷
能不能跟我说下这个数列求和的数学公式 偶忘鸟
2010-08-20 01:23
shellingford
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:19
帖 子:228
专家分:1348
注 册:2010-8-9
收藏
得分:0 
以下是引用yuanxl33在2010-8-20 01:23:07的发言:

F:\JAVA>java TestArrayList
2/1+3/2+5/3+8/5+13/8+21/13+34/21+55/34+89/55+144/89=
179705021940/10904493600
998361233/60580520
结果好像不尽如人意。不熟悉数学公式真的很令人郁闷
能不能跟我说下这个数列求和的数学公式 偶忘鸟

答案不对?
我不知道求和公式,大学学的极限都忘记了。我只是将每个数按分数的方法加起来而已。
2010-08-20 12:13
yuanxl33
Rank: 2
等 级:论坛游民
威 望:1
帖 子:60
专家分:64
注 册:2010-4-11
收藏
得分:0 
回复 8楼 shellingford
可是 有2个 分数 答案是哪个
你运行时也是这样?
2010-08-20 12:24
shellingford
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:19
帖 子:228
专家分:1348
注 册:2010-8-9
收藏
得分:0 
以下是引用yuanxl33在2010-8-20 12:24:31的发言:

可是 有2个 分数 答案是哪个
你运行时也是这样?
额。。。第二个是答案
第一个是没有化简的答案,2个数值应该一样
2010-08-20 12:28
快速回复:求助:2个小编程题,都忘光了。
数据加载中...
 
   



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

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