#一道简单的循环题解答并优化
题:计算1-100之间3的倍数的数字之和
分析题目:1.1~100之间的数字(递增)
2.三的倍数(判断条件)
3.数字之和(计算并打印)1
解:使用while循环
#include <stdio.h>
int main()
{
//设置两个变量,一个作为递增的数找3的倍数,一个来求和
int i = 1;
int sum = 0;
//根据条件设置范围
while (i <= 100)
{
//满足3的倍数
if (i % 3 == 0)
sum = sum + i;
i++;
}
printf("和是%d\n", sum);
return 0;
}
优化:while循环并简化
#inlcude <stdio.h>
int main()
{
int i = 3;//直接从3开始
int sum = 0;
//根据条件设置范围
while (i <= 100)
{
//满足3的倍数
if (i % 3 == 0)
sum = sum + i;
i+=3;//每次加3则必为3的倍数,缩短计算时间
}
printf("和是%d\n", sum);
return 0;
}
优化:使用for循环
#incldue <stdiio.h>
int main()
{
int i = 0;
int sum = 0;
for (i = 3; i <= 100; i += 3)//利用for的简洁进行优化
{
sum += i;
}
printf("和是%d\n", sum);
return 0;
}
当时在求和处卡住,没有想到利用另一个变量进行求和;
此外利用3的倍数的一个特性进行简化让我感觉眼前一亮;
比较简单,但是要注意方法。