穷举法的基本思想是根据题目的部分条件确定答案的大致范围,并在此范围内对所有可能的情况逐一验证,直到全部情况验证完毕。若某个情况验证符合题目的全部条件,则为本问题的一个解;若全部情况验证后都不符合题目的全部条件,则本题无解。穷举法也称为枚举法。
1、打印100以内的素数.
#include <stdio.h>
#include <math.h>
int main()
{
int n,i;
for(n = 2;n < 100; n++ )
{
for(i = 2;i < sqrt(n); i++ )
{
if( n%i == 0 )
break;
}
if(i >= sqrt(n))
printf(" %d",n);
}
printf("\n");
return 0;
}
2、丢番图
「坟中安葬着丢番图,多么令人惊讶,它忠实地记录了所经历的道路。上帝给予的童年占六分之一,又过十二分之一,两颊长胡,再过七分之一,点燃起结婚的蜡烛。五年之后天赐贵子,可怜迟到的宁馨儿,享年仅及其父之半,便进入冰冷的墓。 悲伤只有用数论的研究去弥补,又过四年,他也走完了人生的旅途」
#include <stdio.h>
int main()
{
double x = 9;
while(x++ <= 150)
{
if ( x/6 + x/12 + x/7 + 5 + x/2 + 4 == x)
{
printf("x=%lf\n",x);
}
}
return 0;
}