C语言输出[m,n]范围内,能被3整除,且至少有一位数字是5的所有整数

问题描述

输出[m,n]范围内,能被3整除,且至少有一位数字是5的所有整数。

输入

包含2个正整数m和n,之间用空格隔开。 1≤m≤n≤10000

输出

输出所有满足条件的整数,整数之间用1个空格隔开,行首行末均无空格。如果不存在,请输出”No exist”。

输入样例

1 100

输出样例

15 45 51 54 57 75

源代码

#include <stdio.h>

int isDivisibleBy3(int num) {
    if (num % 3 == 0) {
        return 1;
    }
    return 0;
}

int hasDigit5(int num) {
    while (num > 0) {
        int digit = num % 10;
        if (digit == 5) {
            return 1;
        }
        num /= 10;
    }
    return 0;
}

int main() {
    int m, n;
    scanf("%d %d", &m, &n);

    int found = 0;
    for (int i = m; i <= n; i++) {
        if (isDivisibleBy3(i) && hasDigit5(i)) {
            if (found) {
                printf(" ");
            }
            printf("%d", i);
            found = 1;
        }
    }

    if (!found) {
        printf("No exist");
    }
    
    return 0;
}

上述程序中,我们定义了两个辅助函数isDivisibleBy3hasDigit5来判断一个整数是否能被3整除以及是否至少有一位数字是5。isDivisibleBy3函数通过判断整数取余3是否为0来确定整数是否能被3整除。hasDigit5函数通过逐位取余数并判断是否等于5来确定整数是否至少有一位数字是5。

main函数中,我们首先从输入中读取两个整数mn。然后,我们使用一个循环从m遍历到n,判断每个整数是否满足能被3整除且至少有一位数字为5的条件。如果是,则输出该整数,并在输出之间插入一个空格。最后,如果没有找到满足条件的整数,则输出No exist

你可以根据题目要求进行输入并查看输出结果。

运行截图

图片[1]-C语言输出[m,n]范围内,能被3整除,且至少有一位数字是5的所有整数-QQ沐编程

© 版权声明
THE END
喜欢就支持一下吧
点赞7赞赏 分享