作业帮 > 综合 > 作业

任意给定一个大于1得正整数n,设计一个算法求出n得所有因数.这题要怎么做?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/15 07:40:24
任意给定一个大于1得正整数n,设计一个算法求出n得所有因数.这题要怎么做?
楼上的时间复杂度为还是比较高 为O(n) 其中很多遍历都是重复的  我这里的代码可以达到时间复杂度O(√n)
#include <stdio.h>
 void main()
{
 int i;
 int number;
 printf("请输入一个大于1的正整数");
 scanf("%d",&number);
 for(i=2;i * i <number;i++)
 {
  if(number%i==0)//能整除,说明是因子
   printf(" %d %d ",i, number / i);
 }
}
再问: 看不懂。
再问: 数学题的规范解题步骤。
再问: 谢谢啦。
再答: 采纳个最佳答案呗~