码迷,mamicode.com
首页 > 其他好文 > 详细

网易校招2018----题目1

时间:2017-11-13 23:14:03      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:偶数   奇数   print   eve   ack   color   sys   buffer   没有   

package wangyi_2018campus;

import java.util.Scanner;

/**
 * Created by Ramble on 2017/11/13.
 */
public class MagicMoney {
    static StringBuffer str = new StringBuffer();

    public static void getMagicMoney(int n) {
        while (n>0) {
        if (n%2==0) {
            str.append("2");
            n = (n-2)/2;

        } else if(n%2==1) {
            str.append("1");
            n = (n-1)/2;

        }
        else {
            System.out.println("Wrong input");
         }
    }
}

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        getMagicMoney(n);
        System.out.println(str.reverse());
    }

}

本来我列举了下,感觉找到规律了:1,2,11,12,21,22,111,112.....

想了用二进制替换什么的,没有想到具体怎么实现.有点沮丧.

不过规律是2*x的值一定是偶数,那么2*x+1就一定是奇数,2*x+2一定是偶数.

想到这儿就容易了:判断一下输入的n是偶数还是奇数,然后一层层扒皮.

最后得逆转过来.

啊,丑陋的代码.

 

网易校招2018----题目1

标签:偶数   奇数   print   eve   ack   color   sys   buffer   没有   

原文地址:http://www.cnblogs.com/R4mble/p/7828413.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!