Problem N: 与7无关的数
Time Limit: 1 Sec Memory Limit: 2 MB
Submit: 1562 Solved: 518
[Submit][Status]
Description
一个整数如果每位数字不是7,同时既不是7的倍数,也不是7的平方、立方、四次方……。那么这个整数是与7无关的数
Input
输入若干int范围内的整数,至EOF结束。
Output
若是与7无关的数输出YES,否则输出NO。
Sample Input
Sample Output
#include <stdio.h>
int containsSeven(int num) {
while (num != 0) {
if (num % 10 == 7) {
return 1; // 包含数字7
}
num /= 10;
}
return 0; // 不包含数字7
}
int isMultipleOfSeven(int num) {
return num % 7 == 0;
}
int isPowerOfSeven(int num) {
int power = 1;
while (power <= num) {
if (power == num) {
return 1; // 是7的幂次方
}
power *= 7;
}
return 0; // 不是7的幂次方
}
int main() {
int num;
while (scanf("%d", &num) != EOF) {
if (containsSeven(num) || isMultipleOfSeven(num) || isPowerOfSeven(num)) {
printf("NO\n");
} else {
printf("YES\n");
}
}
return 0;
}