目录
假设你需要知道0~100中的奇数
方法一:
#include<stdio.h>
int main()
{
int n;
for(i=0;i<=100;i++)
//首先生成0~100的数字
{
if(i%2==1)//如果是奇数,则该数和2取余==1
printf("%d",i);
}
return 0;
}
这是大家最容易想到的方法,接下来是该改进版的算法
进阶版:
方法二:
思路:我们已经知道相邻两个奇数之间差2,那么只需要在1的基础上每隔二打印一个数字就行
#include<stdio.h>
int main()
{
int i;
for(i=1;i<=100;i+=2)//每隔2输出一个数字
printf("%d",i);
return 0;
}
方法三:
这个方法非常神奇,但是原理也是一样的,所有的奇数都是2的倍数-1
#include<stdio.h>
int main()
{
int n;
for(n=1;(2*n-1)<=100;n++)//输出所有比2的倍数小一的数
printf("%d",(2*n-1));
return 0;
}
输出偶数也可以采用类似的方法哦!
相信还有很多更有效率的方法,大家多多分享