题目描述
给定一个整数 xx,判断它能否被 33,55,77 整除,并输出以下信息:
1、能同时被 3,5,73,5,7 整除(直接输出 3 5 7
,每个数中间一个空格);
2、只能被其中两个数整除(按从小到大的顺序输出两个数,例如:3 5
或者 3 7
或者 5 7
,中间用空格分隔);
3、只能被其中一个数整除(输出这个除数);
4、不能被任何数整除,输出小写字符 n
。
输入格式
输入一行,包括一个整数 xx。
输出格式
输出一行,按照描述要求给出整数被 33,55,77 整除的情况。
输入输出样例
输入 #1复制
105
输出 #1复制
3 5 7
说明/提示
数据规模与约定
对于全部的测试点,保证 1 \leq x \leq 2001≤x≤200。
求一个数是另一个数的倍数,可以通过取余解决(%)
n%m==0 代表n可以被m整除
函数:
#include<bits/stdc++.h>
using namespace std;
int _3(int n){ //用函数的方式让程序更加清晰
if(n%3==0){
return true;
}else{
return false;
}
}
int _5(int n){
if(n%5==0){
return true;
}else{
return false;
}
}
int _7(int n){
if(n%7==0){
return true;
}else{
return false;
}
}
int main()
{
int n;
cin>>n;
if(_3(n)==true){//判断函数
cout<<"3 ";
}
if(_5(n)==true){
cout<<"5 ";
}
if(_7(n)==true){
cout<<"7 ";
}
if(_3(n)==false&&_5(n)==false&&_7(n)==false){
printf("n");
}
return 0;
}
以上是AC代码(当然如果用if判断也可以更简洁但是不清晰)