今天在做一道简单C语言题目的时候,突然发现其实有些程序可以更加优化,优化后的程序执行的步骤更加少。功能一样的条件下,更加优化的程序占用的资源也更少,所以在以后的编程中,我要更加注意程序的优化一方面,减少一些无用的步骤,让程序更加精简。
例题:求100到200之间的素数。
/*********************************************************************
File Name: zuoye4
Author: 胡剑飞 date:2016 11 22
Description: 求100到200之间的素数。
Fuction List:
********************************************************************/
#include<stdio.h>
#include<math.h>
int main()
{
int i;
int j;
int count = 0;
int a; //存放开根号之后的那个数
/* for (i = 100; i < 200; i++) //100--200之间所有数逐个判断
{
for (j = 2; j < i; j++)
{
if (i % j == 0)
{
break;
}
}
if(i == j)
{
count++;
printf ("%4d",i);
if (count % 5 == 0) //每输出5个数换行
{
printf("\n");
}
}
}
printf("\n");*/
int flag ;
for (i = 100; i < 200; i++) //100--200之间所有数逐个判断
{
a = sqrt(i);
flag = 1;
for (j = 2; j < a; j++) //100到200每个数与之开方相余
{
if (i % j == 0)
{
flag = 0;
break;
}
}
if(flag)
{
count++;
printf ("%4d",i);
if (count % 5 == 0) //每输出5个数换行
{
printf("\n");
}
}
}
printf("\n");
return 0;
}
程序中注释掉的是一种大众化的方法,但注释外的程序更加精简,执行步骤更少,占用的资源也更少。