用 Java 查找数字的礼貌


可以表示成连续正整数之和的数字称为礼貌数字。

Ex: 5 = 2+3

将一个数字表示成正整数之和的方法数量就是该数字的礼貌。

Ex: 9 = 4+5 || 2+3+4

算法

  • 获取一个数字的质因子。
  • 获取大于 2 的质因子幂次。
  • 将它们全部加 1。
  • 将它们相乘,并将结果减去 1。

程序

import java.util.Scanner;

public class PolitenessOfANumber {
   public static void main(String args[]) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter a number");
      int num = sc.nextInt();
      int count = 0, result = 1;
     
      for(int i = 2; i< num; i++) {
         while(num%i == 0) {
            System.out.println(i+" ");
            num = num/i;
            if(i>2) {
               count ++;
            }
            result = result*(count+1);
         }
         if(num >2) {
            System.out.println(num);
         }
         System.out.println("Politeness of the given number is : "+(result-1));
      }
   }
}

输出

Enter a number
216
2
2
2
3
3
3
Politeness of the given number is : 3

更新于:2020 年 6 月 25 日

195 次浏览

开启您的 职业生涯

通过完成课程获得认证

开始
广告