1047:判断能否被3,5,7整除
时间限制: 1000 ms 内存限制: 65536 KB
提交数:191544 通过数: 89518
【题目描述】
给定一个整数,判断它能否被33,55,77整除,并输出以下信息:
1、能同时被33,55,77整除(直接输出3 5 7
,每个数中间一个空格);
2、只能被其中两个数整除(输出两个数,小的在前,大的在后。例如:3 5
或者3 7
或者5 7
,中间用空格分隔);
3、只能被其中一个数整除(输出这个除数);
4、不能被任何数整除,输出小写字符‘n
’,不包括单引号。
【输入】
输入一行,包括一个整数。
【输出】
输出一行,按照描述要求给出整数被33,55,77整除的情况。
【输入样例】
105
【输出样例】
3 5 7
#include <cstdio>
int x;
char t ;
int main(){
scanf("%d",&x);
t |= int((x % 3) == 0) ;
t |= int((x % 5) == 0) << 1 ;
t |= int((x % 7) == 0) << 2 ;
if((t & 0x01) == 0x01){
printf("3 ") ;
}
if((t & 0x02) == 0x02){
printf("5 ") ;
}
if((t & 0x04) ==0x04){
printf("7") ;
}
if(t == 0){
printf("n") ;
}
return 0;
}