美好的一天从编程开始

最近老师给我们好多关于逻辑的题目,感觉挺有意思的,今天就把这些整理一下,和大家分享分享,希望也能给你们带点乐趣!

@:FIRST

第一个是输出100以内的质数,这个算法由于没有具体的公式,当时真是郁闷坏了,不过最终还是做出来了,而且老师告诉我们这道题也被很多公司当做面试题经常会被考到,所以让我们一定要记住。

    /**
     * 功能:输出100以内所有质数
     * author:queyr
     * @param:
     * time:2018年8月21日下午3:22:51
     */
    @Test
    public void test_01() {
        boolean flag = false;
        for (int i = 2; i <= 100; i++) {
            flag = false;
            for (int j = 2; j < i; j++) {
                if(i%j==0) {
                    flag = true;
                }
            }
            if(!flag) {
                System.out.print(i+"  ");
            }
        }
    }

输出展示:
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97

@:SECOND

下面这个是用冒泡排序对一个无序数组进行排序的题目,冒泡排序其实对编程的人员来说并不陌生,但是突然让你把这个写出来,还是有点难度的,因为现在的工具太过方便,而导致我们对一些过于底层的不去了解,希望下面这个也能对大家有一些帮助。

    /**
     * 功能:冒泡排序
     * author:queyr
     * @param:
     * time:2018年8月21日下午3:46:33
     */
    @Test
    public void test_02() {
        int[] nums = new int[] {2,5,12,65,12,8,46};
        int temp = 0;
        //利用双重循环分别进行比较
        for (int i = 0; i < nums.length; i++) {
            for (int j = i; j < nums.length; j++) {
                if(nums[i]>nums[j]) {
                    temp = nums[i];
                    nums[i]=nums[j];
                    nums[j]=temp;
                }
            }
        }
        //将排序之后的数据打印输出
        for (int i = 0; i < nums.length; i++) {
            System.out.print(nums[i]+"  ");
        }
    }

结果展示:
2 5 8 12 12 46 65

@THIRD

其实还有好多有意思的题目,但是写出来太多会有点无聊,所以最后在和大家分享一个鸡兔同笼的题目,说在一个笼子里鸡兔一窝工48个头,156个脚,让我们用编程的知识,分辨出鸡兔的搭配有几种?其实这样的题如果用数学的话很简单,设两个未知数,比如鸡兔的个数分别为X,Y那么我们可以得到 X+Y=48;
2X*4Y=156; 解一下就很容易就得出来了。如果用编程的话,其实也很简单。如下:

    /**
     * 功能:鸡兔同笼
     * author:queyr
     * @param:
     * time:2018年8月21日下午4:01:14
     */
    @Test
    public void test_03() {
        for (int i = 0; i <= 48; i++) {
            for (int j = 0; j <= 48; j++) {
                if(i*2+j*4==156) {
                    System.out.println("鸡的个数:"+i+"\t兔的个数"+j);
                }
            }
        }
    }

可能由于设的值的原因导致有很多中可能,但是都是正确的,这还是没毛病的!

“`
鸡的个数:0 兔的个数39
鸡的个数:2 兔的个数38
鸡的个数:4 兔的个数37
鸡的个数:6 兔的个数36
鸡的个数:8 兔的个数35
鸡的个数:10 兔的个数34
鸡的个数:12 兔的个数33
鸡的个数:14 兔的个数32
鸡的个数:16 兔的个数31
鸡的个数:18 兔的个数30
鸡的个数:20 兔的个数29
鸡的个数:22 兔的个数28
鸡的个数:24 兔的个数27
鸡的个数:26 兔的个数26
鸡的个数:28 兔的个数25
鸡的个数:30 兔的个数24
鸡的个数:32 兔的个数23
鸡的个数:34 兔的个数22
鸡的个数:36 兔的个数21
鸡的个数:38 兔的个数20
鸡的个数:40 兔的个数19
鸡的个数:42 兔的个数18
鸡的个数:44 兔的个数17
鸡的个数:46 兔的个数16
鸡的个数:48 兔的个数15


好了,今天就和大家分享到这里!下次再见!! -_- v -_-

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值