设计如何找出素数:
for (div = 2; div < num; div++)
if(num % div == 0)
printf("%d is divisible by %d\n",num , div);
该循环检查2到num之间的所有数,判断他们是否为num整除.但是这个方法过于浪费时间.
改进方法:
例如:如果考虑144,它的约数有2和72,3和48,4和36,6和24,8和18,9和16,12和12,16和9,18和8等等,再找到12和12这一对约数以后,又开始得到已经找到的约数(只不过是次序相反).因此,不用循环到143,在达到12
就可以停止循环.这大大节省了时间.
for (div = 2; (div*div)<=num; div++)
if(num % div == 0)
printf("%d is divisible by %d and %d\n",num , div ,num/div);