POJ 2887 能被3,5,7整除的数

时间限制: 
1000ms
内存限制: 
65536kB
描述
输入一个整数,判断它能否被3,5,7整除,并输出以下信息:
1、能同时被3,5,7整除(直接输出3 5 7,每个数中间一个空格);
2、能被其中两个数整除(输出两个数,小的在前,大的在后。例如:3 5或者 3 7或者5 7,中间用空格分隔)
3、能被其中一个数整除(输出这个除数)
4、不能被任何数整除;(输出小写字符'n',不包括单引号)
输入
一个数字
输出
一行数字,从小到大排列,包含3,5,7中为该输入的除数的数字,数字中间用空格隔开
样例输入
0
5
15
105
样例输出
3 5 7
5
3 5
3 5 7
 
(1)、源代码:
#include <iostream>
 
using namespace std;
 
int main()
{
                int n;
                while(cin >> n)
                {
                                if(n % 105 == 0)
                                                cout << "3 5 7\n";
                                else if((n % 105 != 0) && (n % 15 == 0))
                                                cout << "3 5\n";
                                else if((n % 105 != 0) && (n % 21 == 0))
                                                cout << "3 7\n";
                                else if((n % 105 != 0) && (n % 35 == 0))
                                                cout << "5 7\n";
                                else if((n % 3 == 0) && (n % 5 != 0) && (n % 7 != 0))
                                                cout << "3\n";
                                else if((n % 3 != 0) && (n % 5 == 0) && (n % 7 != 0))
                                                cout << "5\n";
                                else if((n % 3 != 0) && (n % 5 != 0) && (n % 7 == 0))
                                                cout << "7\n";
                                else if((n % 3 != 0) && (n % 5 != 0) && (n % 7 != 0))
                                                cout << "n\n";
 
                }
                return 0;
}
 
(2)、解题思路:略
(3)、可能出错:略
 
 
posted on 2012-05-02 22:12  谷堆旁边  阅读(1447)  评论(1编辑  收藏  举报