头数算法

塔尔坎水槽

我正在尝试制作一个程序,其中用户输入2个数字,然后程序在这个间隙中给出tau数。

  • “ Tau”数字是可以除以其除数总数的数字。例如(1,2,3,4,6,8,12,24),所有这些数字可以除以24。有8个数字,则24可以除以8。所以我们可以说24是一个tau数。*

我认为for循环有一个错误,但我不知道它在哪里。

import java.util.Scanner;

public class tauNumber {

    public static void main(String [] args){
        int start=0,stop=0,count=0;
        Scanner input =new Scanner(System.in);
        System.out.println("Please enter first number: ");
        start=input.nextInt();
        System.out.println("Please enter last number: ");
        stop=input.nextInt();

        for(int i=0+start;i<=stop;i++){

            for(int j=1;j<=start;j++){
                if(i%j==0){
                    count++;
                }
            }
            if(start/count==0){
                System.out.println(i+" is a tau number" );
            }
        }
    }
}
px06

正如@Tunaki指出的那样,您不必说“ tau号码”,而应将其称为可重构号码

我建议您将代码分成多个函数,以更好地了解正在发生的事情,我认为这是您想要的:

import java.util.Scanner;

class TauNumber {


    public static void main(String[] args){

        Scanner input =new Scanner(System.in);
        System.out.println("Please enter first number: ");
        int start=input.nextInt();
        System.out.println("Please enter last number: ");
        int stop=input.nextInt();

        for(int i=start+1; i<stop; i++){
            if(refractorable(i)){
                System.out.println("Found tau number: "+ i);
                break;
            }
        }

    }

    public static boolean refractorable(int number){
        if(sumDivisors(number) == 0) return false; 

        if(number % sumDivisors(number) == 0){
            return true;
        } else {
            return false;
        }
    }

    public static int sumDivisors(int number){
        int sum = 0;
        for(int i=1; i<=number; i++){
            if(number % i == 0){
                sum++;
            }
        }
        return sum;
    }


}

注意:我还要指出,当您指定“ gap”时,它是什么意思?我认为start < x < stop,因为那是差距,但肯定可以start < x <= stop

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章