求正整数(Int) 【问题描述】 对于任意输入的正整数 n,请编程求出具有 n 个不同因子的最小正整数 m。 例如 :n=4,则 m=6,因为 6 有 4 个不同整数因子 , 即 1、2、3、6 ;而

求正整数(Int)
【问题描述】
对于任意输入的正整数 n,请编程求出具有 n 个不同因子的最小正整数 m。
例如 :n=4,则 m=6,因为 6 有 4 个不同整数因子 , 即 1、2、3、6 ;而且是最小的有 4 个
因子的整数。
【输入格式】
一个整数 n(1 ≤ n ≤ 50000)。
【输出格式】
输出一个整数 m,表示整数 m 是最小的有 n 个因子的整数。
【输入输出样例】
输入样例
4
输出样例
6
【算法分析】
本题我们只要对 1~50000 之间的数求其因子数,当某个数 m 的因子个数是 n 时,我们输出 n 即可,程序结束。
分析题目可知 :枚举范围为 1 ~ 50000,枚举对象是区间内的数 m,判断条件是 m 的因子数是否为 n,我们可定义一个函数,用来求解并判断数 m 的因子及个数。
需注意的是,当找到因子个数是 n 的时候,就输出 m,并结束程序。
【程序实现】
  1. import math 
  2. def sum(k): 
  3.  s=0 
  4.  for i in range(1,int(math.sqrt(k))+1): 
  5.      if k % i==0
  6.         s=s+2 
  7.      if k==i*i: 
  8.         s=s-1 
  9.  return s 
  10. k=int(input(" 请输入 k :")) 
  11. for i in range(1,50001): 
  12.  if sum(i)==k: 
  13.      print(i) 
  14.      exit() 
【运行结果】
  1. 请输入 k :4 
  2. 输出 :6 
  3. 请输入 k :6 
  4. 输出 :12 

关 键 词

求正整数(Int)

相关教程

提示声明

  • 免责声明:本站资源均来自网络或者用户投稿,仅供用于学习和交流:如有侵权联系删除!

猜你喜欢