题目描述
给定一个整数 x,判断它能否被 3,5,7 整除,并输出以下信息:
1、能同时被 3,5,7 整除(直接输出 3 5 7
,每个数中间一个空格);
2、只能被其中两个数整除(按从小到大的顺序输出两个数,例如:3 5
或者 3 7
或者 5 7
,中间用空格分隔);
3、只能被其中一个数整除(输出这个除数);
4、不能被任何数整除,输出小写字符 n
。
输入格式
输入一行,包括一个整数 x。
输出格式
输出一行,按照描述要求给出整数被 3,5,7 整除的情况。
输入输出样例
输入 #1
105
输出 #1
3 5 7
说明/提示
数据规模与约定
对于全部的测试点,保证 1≤x≤200。
思路1
这道题数据有点水,根本不用输出“n”。所以就可以依次判断x是否可以被3、5、7整除,如果可以,就输出对应的数字+空格就可以了。
AC Code1
#include<bits/stdc++.h>
using namespace std;
int x;
int main(){
cin>>x;
if(x%3==0) cout<<"3 ";
if(x%5==0) cout<<"5 ";
if(x%7==0) cout<<"7 ";
return 0;
}
思路2
循环,i从3开始,每次增加2。判断x是否可以被i整除,如果可以,就输出i+空格。
AC Code2
#include<bits/stdc++.h>
using namespace std;
int main(){
int x;
cin>>x;
for(int i=3;i<=7;i+=2){
if(x%i==0) cout<<i<<" ";
}
return 0;
}