>  기사  >  Java  >  10-100000 사이의 수선화 수 알고리즘의 Java 구현 예

10-100000 사이의 수선화 수 알고리즘의 Java 구현 예

黄舟
黄舟원래의
2017-10-18 10:16:051938검색

이 글에서는 주로 10에서 100,000 사이의 수선화 수를 찾는 Java 알고리즘을 소개합니다. 수선화 수의 개념과 해당 Java 알고리즘 구현 기술을 예제 형식으로 분석합니다. 이 기사에서는 10에서 100000 사이의 수선화 수를 찾는 Java 알고리즘을 설명합니다. 참고를 위해 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.

수선화 수: 개념: 수선화 수는 n자리 숫자(n≥3)를 나타내며 각 자릿수는 n배입니다. 힘의 합은 자신과 같습니다. (예: 1^3 + 5^3+ 3^3 = 153)

알고리즘 아이디어 분석: 먼저 이 알고리즘을 두 단계로 수행합니다. 두 번째로 숫자의 자릿수를 찾는 함수를 만듭니다. 우리는 이 함수를 호출하여 10에서 100000 사이의 소수를 계산합니다!

특정 코드는 아래에 나와 있습니다(참조용):

package javastudy;
public class Testit1 {
  public static void main(String[] args) {
    for (int number = 100; number <= 100000; number++) { //求10到10000之间所有的素数,一个大的循环
      int temp = number; //这步代码是为了让Getlength(number)不变
      int sum = 0;
      for (int i = 0; i < Getlength(number); i++) {
        sum += Math.pow(temp % 10, Getlength(number)); //次方和相加
        temp = temp / 10;
      }
      if (sum == number) { //判断是否相等
        System.out.print(number+" ");
      }
    }
  }
  static int Getlength(int number) { //这个函数是为了求一个数字的位数
    int i = 0;
    while (number / 10 > 0) {
      i++;
      number /= 10;
    }
    return i + 1;
  }
}

실행 결과:

위 내용은 10-100000 사이의 수선화 수 알고리즘의 Java 구현 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.