执野661 2023-10-07 20:00 采纳率: 100%
浏览 12
已结题

c语言编程 n到m之间满足下面两个条件的数①每位上数字之积为42②每位上数字之和为12

输入两个整数m,n,(n<=m)求出n到m之间满足下面两个条件的数①每位上数字之积为42②每位上数字之和为12,并输出这些满足条件的数。

  • 写回答

2条回答 默认 最新

  • 摆烂的程序员阿轩. 2023-10-07 20:07
    关注

    参考gpt
    以下是c语言代码实现:

    #include <stdio.h>
    
    int main()
    {
        int m, n;
        scanf("%d%d", &m, &n);
    
        // 循环遍历区间[n, m]
        for (int i = n; i <= m; i++) {
    
            // 计算数字之积和数字之和
            int prod = 1, sum = 0;
            int num = i;
            while (num > 0) {
                int d = num % 10;
                prod *= d;
                sum += d;
                num /= 10;
            }
    
            // 判断是否满足条件
            if (prod == 42 && sum == 12) {
                printf("%d\n", i);
            }
        }
    
        return 0;
    }
    

    以上代码先获取用户输入的两个整数 m 和 n,然后使用 for 循环遍历区间 [n, m]。对于每个数,使用 while 循环计算数字之积和数字之和,然后判断是否满足条件,满足条件则输出该数。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月17日
  • 已采纳回答 10月9日
  • 创建了问题 10月7日