| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1038 人关注过本帖, 1 人收藏
标题:JAVA 练习题
只看楼主 加入收藏
lampeter123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:54
帖 子:2508
专家分:6424
注 册:2009-1-30
结帖率:90.32%
收藏(1)
已结贴  问题点数:20 回复次数:4 
JAVA 练习题
发一些题目考下大家:
1.老王开了一家米店,他发现买出的米的数量没有超过1000公斤的,所以他想了一种方法把米分装使的每次都可以组合出买出的米的数量,并且组合的时候使用的每种分装的米不重复,请问老王把米分装成几种,每种的重量是多少?

2.根据歌德巴赫猜想,任何大于4的偶数都可以由两个素数想加得出,请写一段程序输出4到100之间的所有偶数由两个素数相加,例如:4=2+2;6=3+3;8=3+5;

3.一个三位的整数,必须是完全开方数,并且3个数字中有两个数是一样的,例如:144=12^2;225=15^2 , 请打印出所有这样的整数。

4.给定一个数组,当中有正负数,求当中的一段“子数组”(即任意长度,连续的数字),使得这个“子数组”的和是所有“子数组”和中最大的,
如给定的数组为12, -8, 5, 66, -21, 0 ,35, -44,7,则最大的和的子数组为{12, -8, 5, 66, -21, 0 ,35},最大的和为89.

5.一个数组,“支配者”是在数组中出现频率超过一半的整数,
例如[3,4,3,2,-1,3,3,3]数值“3”出现过5次,5除以8大于0.5
所以数值“3”是一个支配者;
而在这个数组中的支配者出现在数组下标[0,2,4,6,7]
写一个函数,在给定的整数数组中找出支配者所在的任意一个数组下标,如果一个数组中没有支配者返回-1;

[ 本帖最后由 lampeter123 于 2009-11-4 13:10 编辑 ]
搜索更多相关主题的帖子: 练习题 JAVA 
2009-11-04 13:07
vecomwa
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:63
专家分:138
注 册:2009-9-1
收藏
得分:10 
2.根据歌德巴赫猜想,任何大于4的偶数都可以由两个素数想加得出,请写一段程序输出4到100之间的所有偶数由两个素数相加,例如:4=2+2;6=3+3;8=3+5;


public class Test1 {
    public static void main(String[] args) {
        int sushu[] = new int[25];
        int j = 4;
        sushu[0] = 2;
        sushu[1] = 3;
        sushu[2] = 5;
        sushu[3] = 7;
        for(int i=11; i<100; ){
            if(i%2!=0&&i%3!=0&&i%5!=0&&i%7!=0) {
                sushu[j] = i;
                j++;
            }
            i += 2;
        }
        int x=4;
            for(int i=0; i<sushu.length; i++){
                for(int a=0; a<sushu.length; a++) {
                    j = sushu[i]+sushu[a];
                    if(x==j) {
                        System.out.println(sushu[i] +"+" + sushu[a] + "=" + x +"  ");
                        x += 2;
                    }
                }
            }
    }
}
2009-11-05 14:27
vecomwa
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:63
专家分:138
注 册:2009-9-1
收藏
得分:10 
5.一个数组,“支配者”是在数组中出现频率超过一半的整数,
例如[3,4,3,2,-1,3,3,3]数值“3”出现过5次,5除以8大于0.5
所以数值“3”是一个支配者;
而在这个数组中的支配者出现在数组下标[0,2,4,6,7]
写一个函数,在给定的整数数组中找出支配者所在的任意一个数组下标,如果一个数组中没有支配者返回-1;

public int abc(int b[]) {

        int a = 0;
        int d = 0;
        int c = 0;
        for(int i=0; i<b.length; i++) {
            for(int j=0; j<b.length; j++) {
                if(b[i]==b[j]) {
                    d++;
                }
            }
            if(a<d) {
                a = d;
                c = b[i];
            }
            d = 0;
        }
        if(b.length-a <= b.length/2) {
            System.out.print(c+"是整个数组的支配者" + "\n" + "出现了" + a + "次" + "\n" + "出现的位置:");
            System.out.print("[ ");
            for(int y=0; y<b.length; y++){
                if(c==b[y]) System.out.print(y + " ");
            }
            System.out.println("]");
            return 1;
        } else return -1;
    }
2009-11-05 14:28
dlbcangel
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-3-29
收藏
得分:0 
2.根据歌德巴赫猜想,任何大于4的偶数都可以由两个素数想加得出,请写一段程序输出4到100之间的所有偶数由两个素数相加,例如:4=2+2;6=3+3;8=3+5;

public class lc{
public static void main(String args[]){

    int sushu[]=new int[25];
    sushu[0]=2;
    int shu=3,count=1;
    boolean p=true;
    while(shu<100)
    {
        for(int i=2;i<shu;i++)
        {
            if(shu%i==0)
            {p=false;break;}
        }
    if(p==true){
    sushu[count]=shu;count++;}
    else p=true;
    shu+=2;
    }
    System.out.println("所有素数");
    for(int n=0;n<sushu.length;n++)
    System.out.println(sushu[n]+" ");

    System.out.print("4到100之间的所有偶数由两个素数相加");
    for(int i=4;i<=100;i++)
    {
        for(int y=0;y<sushu.length;y++)
        {    boolean t=false;
            for(int k=0;k<sushu.length;k++)
            {
                if(i==sushu[y]+sushu[k])
                {System.out.println(i+"="+sushu[y]+"+"+sushu[k]);t=true;break;}

            }
            if(t==true){t=false;break;}
        }
        i+=1;
    }

}
}
新手不知道这方法效率高不
2010-03-29 18:03
dlbcangel
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-3-29
收藏
得分:0 
3.一个三位的整数,必须是完全开方数,并且3个数字中有两个数是一样的,例如:144=12^2;225=15^2 , 请打印出所有这样的整数

public class lc{
public static void main(String args[]){

    ll l=new ll();
    for(int i=100;i<1000;i++)
    {   
        boolean p=l.duibi(i);
        if(p==true)
        l.suan(i);
    }
}
}

class ll{

    public void suan(int shu)
    {
        for(int y=10;y<35;y++)
        {
            if(shu==y*y)
            {System.out.println(shu+"="+y+"*"+y);return;}
        }
    }

    public boolean duibi(int shu)
    {
        int i,k,y;
        i=shu/100;
        k=shu%100/10;
        y=shu%100%10;
        if(i==k||i==y||k==y)
            return true;
        else
            return false;
    }

}
2010-03-29 18:39
快速回复:JAVA 练习题
数据加载中...
 
   



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

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