#include
int isPrime(int a)
{
int temp = a;
for(int i = sqrt(a);i>=2;i--)
{
if(!(temp%i))
return 0;
}
return 1;
}
int main()
{
int a,i=0,flag = 1,t=2;;
printf("请输入你要分解的数: ");
scanf("%d",&a);
printf("%d=",a);
while(a!=1)
{
while(isPrime(t))
{
if(a%t==0)
{
printf("%d",t);
a /= t;
if(a!=1)
printf("*");
}
else
t++;
}
t++;
}
getchar();
return 0;
}
问题,对哪些自然数这个程序的运行速度要快?
问题二,考虑极端的情况,用极端情况的步数表示复杂度
问题三,证明你的复杂度是正确的.
|