求[100,999]之间能被3整除,且至少有一位数字是5的所有正整数的个数。

求[100,999]之间能被3整除,且至少有一位数字是5的所有正整数的个数。

循环中加两个判断

#include <stdio.h>
int main()
{
    int i, count = 0;
    for(i = 100; i <= 999; ++i){
        if(i % 3 == 0){
            int a = i / 100;
            int b = i / 10 % 10;
            int c = i % 10;
            if(a == 5 || b == 5 || c == 5) ++count;
        }
    }
    
    printf("%d\n", count);
    return 0;
}

用知道for循环,对每个数判断一下,是否满足对3取余为0,满足的条件下,再判断是否有一个位数是5即可,模拟一遍

先for循环选出3的倍数在选出5的倍数可以吗