在做这种满足条件的数累加的题目中,例如:
例题一:将正整数 m 和 n 之间(包括 m 和 n)能被 17 整除的数累加。其中,0 < m < n < 1000。
例题二:计算非负整数 m 到 n(包括m 和 n )之间的所有奇数的和,其中,m 不大于 n,且n 不大于300。
这种类型的题目都是满足条件的数累加类型的题目,并且这种题目的解题方式也是大同小异的。
解题的关键无非是找到那个所需满足的条件,例一的条件直接给出了,那就是被17整除,例二的条件是奇数,那就是不能被2整除。所以我们可以写出以下代码:
#include<stdio.h>
int main()
{
int i,a,b,p=0,q=0,sum=0;
scanf("%d %d",&a,&b);
if(a>b)
{
p=a,q=b;
}
else
{
p=b,q=a;
}
for(i=q;i<=p;i++)
{
if(i%2!=0)
sum+=i;
}
printf("%d",sum);
return 0;
}
代码的关键在于for循环的位置,通过从小数到大数不断遍历,找到目标数并相加。