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

最佳男豬腳 1年前 已收到1个回答 举报

地平线上的大雷 幼苗

共回答了17个问题采纳率:82.4% 举报

楼上的时间复杂度为还是比较高 为O(n) 其中很多遍历都是重复的我这里的代码可以达到时间复杂度O(√n)
#include
void main()
{
int i;
int number;
printf("请输入一个大于1的正整数");
scanf("%d",&number);
for(i=2;i * i {
if(number%i==0)//能整除,说明是因子
printf(" %d %d ",i, number / i);
}
}

1年前 追问

2

最佳男豬腳 举报

看不懂。

最佳男豬腳 举报

数学题的规范解题步骤。

最佳男豬腳 举报

谢谢啦。

举报 地平线上的大雷

采纳个最佳答案呗~
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.018 s. - webmaster@yulucn.com