zoukankan      html  css  js  c++  java
  • 考研机试 39.大整数因子

    时间:2021/03/07

    一.题目描述

    已知正整数k满足2<=k<=9,现给出长度最大为30位的十进制非负整数c,求所有能整除c的k.

    输入描述

    若干个非负整数c,c的位数<=30
    每行一个c

    输出描述

    每一个c的结果占一行
    1) 若存在满足 c%k == 0 的k,输出所有这样的k,中间用空格隔开,最后一个k后面没有空格。
    2) 若没有这样的k则输出"none"
    
    注意整数溢出问题
    不要对-1进行计算

    题目链接

    https://www.nowcoder.com/practice/3d6cee12fbf54ea99bb165cbaba5823d?tpId=40&tqId=21370&rp=1&ru=%2Fta%2Fkaoyan&qru=%2Fta%2Fkaoyan%2Fquestion-ranking&tab=answerKey

    二.算法

    题解

    注意题目中说不要对-1进行计算,所以在读取输入后要进行判断,如果为-1则不进行任何操作。然后将读取的字符串转化为BigInteger对象,之后循环取模来输出因子。

    代码

    import java.util.Scanner;
    import java.math.BigInteger;
    
    public class Main{
        
        public static void main(String[] args){
            
            Scanner in = new Scanner(System.in);
            
            while(in.hasNext()){
                
                //读取输入
                String str = in.next();
                if(!str.equals("-1")){
                    BigInteger num = new BigInteger(str);
                
                    //计算因子
                    boolean flag = false;
                    for(int i = 2; i <= 9; i++){
                        BigInteger y = new BigInteger(i + "");
                        BigInteger zero = new BigInteger(0 + "");
                        if((num.mod(y)).equals(zero)){
                            flag = true;
                            System.out.print(i + " ");
                        }
                    }
                    if(!flag){
                        System.out.print("none");
                    }
                    System.out.println();
                }
            }
        }
    }
    努力,向上,自律
  • 相关阅读:
    Go--指针
    Go--struct
    Go--函数
    Go基础
    流程控制
    Go前言
    变量与常量
    Django(三):HttpRequest和HttpResponse
    Django(二):url和views
    tensorflow(一):图片处理
  • 原文地址:https://www.cnblogs.com/machi12/p/14494356.html
Copyright © 2011-2022 走看看