输入两个整数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无用