用 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
广告