用C语言 判断一个正整数 n 是否能被一个“幸运数”整除。幸运数是指一个只包含 4 或 7 的正整数,如 7、47、477 等都是幸运数,17、42 则不是幸运数 输入说明 一行一个正整数 n,1≤n≤1000。 输出说明 一行一个字符串,如果能被幸运数整除输出“YES”;否则,输出“NO”。
时间: 2024-02-11 14:08:52 浏览: 96
1_判断能否被16、4、2整除_随机产生一个0到100之间的整数_源码
好的,这是一个简单的问题。以下是解决方案:
```c
#include <stdio.h>
// 判断是否为幸运数
int is_lucky(int n) {
while (n > 0) {
int digit = n % 10;
if (digit != 4 && digit != 7) {
return 0;
}
n /= 10;
}
return 1;
}
int main() {
int n;
scanf("%d", &n);
int i;
for (i = 1; i <= n; i++) {
if (n % i == 0 && is_lucky(i)) { // 判断能否整除并且是幸运数
printf("YES\n");
return 0;
}
}
printf("NO\n");
return 0;
}
```
以上代码通过输入一个正整数n,然后从1到n遍历每一个数,判断其是否能够整除n并且是否为幸运数。如果存在一个幸运数能够整除n,则输出YES,否则输出NO。
阅读全文