牛客巅峰赛S2青铜组题解Java版本

牛客巅峰赛S2青铜组题解Java版本

3.

打表找规律,求字符串的二进制是否全是'1',循环除2取余,如果余数为0则为偶数返回false。

public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     * 
     * @param n string字符串 三角形的长和高
     * @return bool布尔型
     */
    public boolean judge (String n) {
        // write code here
        int len = n.length();
        if(((n.charAt(len - 1) - '0')&1)==0){return false;}
        String[] newN = {n};
        while(!newN[0].equals("0")){
            boolean isRestOne = div(newN[0], newN);
            if(!isRestOne){return false;}
        }
        return true;
    }

    private boolean div(String n, String[] newN){
        if(n.equals("1")){newN[0]="0";return true;}
        char[] chs = n.toCharArray();
        int len = chs.length;
        int rest = 0;
        StringBuilder sber = new StringBuilder();
        for(int i = 0; i < len; ++i){
            rest = rest * 10 + chs[i] - '0';
            int diver = rest / 2;
            rest = rest % 2;
            sber.append(diver);
        }
        // System.out.println(n);
        if(sber.charAt(0) == '0'){
            newN[0] = sber.substring(1, sber.length());
        }else{
            newN[0] = sber.toString();
        }
        if(rest == 0){return false;}
        else{return true;}
    }
}
#笔试题目#
全部评论
🤣自顶向下🤣自顶向下🤣自顶向下🤣自顶向下🤣自顶向下
1 回复 分享
发布于 2020-12-16 10:41
🤣自顶向下🤣自顶向下🤣自顶向下🤣自顶向下
1 回复 分享
发布于 2020-12-16 10:41
🤣自顶向下🤣自顶向下🤣自顶向下
1 回复 分享
发布于 2020-12-16 10:40
🤣自顶向下🤣自顶向下
1 回复 分享
发布于 2020-12-16 10:40
🤣自顶向下
1 回复 分享
发布于 2020-12-16 10:40

相关推荐

05-19 19:57
蚌埠学院 Python
2237:Gpa70不算高,建议只写排名,个人技能不在多而在精,缩到8条以内。项目留一个含金量高的,减少间距弄到一页,硕士简历也就一页,本科不要写很多
实习,投递多份简历没人回...
点赞 评论 收藏
分享
龙珠传说:nb,公务员解约不需要支付违约金吧
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
2
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务