请分析下面算法的时间复杂度。希望可以给一个详细分析计算过程,谢谢。

算法1:#include<stdio.h>#include<string.h>#defineMAX100intfunc(chars[]){intflag=1;inti,j... 算法1:
#include<stdio.h>
#include<string.h>
#define MAX 100
int func(char s[])
{
int flag = 1;
int i, j, slen = strlen(s);
for (i = 0, j = slen - 1; i < j; i++, j--)
if (s[i] != s[j])
{
flag = 0;
break;
}
return(flag);
}
int main()
{
char s[MAX];
printf("输入一串字符:");
gets_s(s);
if (func(s) == 1)
printf("%s字符串是回文\n", s);
else
printf("%s字符串是不回文\n", s);
}
算法2:
#include<stdio.h>
int func(int num)
{
int s = 0;
do
{
s += num % 10;
num /= 10;
} while (num);
return(s);
}
int main()
{
int n;
printf("\n");
printf("输入一个整数:");
scanf_s("%d", &n);
printf("各位数字之和:%d\n", func(n));
printf("\n");
return(0);
}
/*#include<math.h>
int prime(int x)
{
int i;
for (i = 2; i <=
(int)sqrt(float(x)); i++)
if (x%i == 0)return 0;
return 1;
}
求大佬指导,谢谢!
展开
 我来答
cylz0703
2018-12-07 · TA获得超过3.4万个赞
知道大有可为答主
回答量:1.8万
采纳率:83%
帮助的人:4488万
展开全部
算法1是最坏情况执行n/2次,也就是O(n);
算法2是执行次数是[lgn]+1,也就是O(lgn)
算法3是最坏情况执行[√n]-1次,这就是O(√n)
其中,lg是以10为底的对数。[ ]是向下取整。
Sievers分析仪
2024-12-30 广告
是的。传统上,对于符合要求的内毒素检测,最终用户必须从标准内毒素库存瓶中构建至少一式两份三点标准曲线;必须有重复的阴性控制;每个样品和PPC必须一式两份。有了Sievers Eclipse内毒素检测仪,这些步骤可以通过使用预嵌入的内毒素标准... 点击进入详情页
本回答由Sievers分析仪提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式