数据结构 时间复杂度

阅读下面程序,指出其算法的功能并求出其时间复杂度。intPrime(intn){inti=2,x=(int)sqrt(n);while(i<=x){if(n%i==0)b... 阅读下面程序,指出其算法的功能并求出其时间复杂度。
int Prime(int n){
int i=2,x=(int)sqrt(n);
while(i<=x){
if(n%i==0)break;
i++;
}
if(i>x) return 1;
else return 0;
}
展开
 我来答
帐号已注销
2020-03-06 · TA获得超过8502个赞
知道小有建树答主
回答量:7.9万
采纳率:3%
帮助的人:3835万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jzr3ng
2011-05-26 · 超过13用户采纳过TA的回答
知道答主
回答量:37
采纳率:0%
帮助的人:0
展开全部
o(N的二份一次方)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
张程通
2011-05-26 · TA获得超过1190个赞
知道小有建树答主
回答量:354
采纳率:100%
帮助的人:433万
展开全部
该函数的功能是:判断一个整数是否为素数,是素数返回1,不是素数返回0
算法流程:
参数为整数n
对n开平的方并取整后赋值给整型变量x
循环判断:令i从2开始递增,一直到i<=x不成立
在循环体中判断n能不能被i整除,一旦有一个i能整除就说明不是素数,就提前跳出循环
最后判断i是否大于x,(如果没有提前跳出循环,则最后i会等于x+1)
如果i>x则n是素数,返回1,否则返回0
【时间复杂度】最大时间复杂度为(根号n)
因为在上面的算法中最多循环x次,即根号n

参考资料: www.codejie.net

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式