【华为oj】质数因子
2015-06-21 21:30
267 查看
问题描述:功能:输入一个正整数,按照从小到大的顺序输出它的所有质数的因子(如180的质数因子为2 2 3 3 5 )
详细描述:
函数接口说明:
public String getResult(long ulDataInput)
输入参数:
long ulDataInput:输入的正整数
返回值:
String
知识点: 排序
题目来源: 内部整理
练习阶段: 初级
运行时间限制: 10Sec
内存限制: 128MByte
输入:
输入一个long型整数
输出:
按照从小到大的顺序输出它的所有质数的因子,以空格隔开
样例输入: 180
样例输出: 2 2 3 3 5
问题分析:求一个整数(A)的质数因子,采用循环时,首先要判断除数是否为质数,是质数并且可以被A整除才是一个质数因子。
代码:
详细描述:
函数接口说明:
public String getResult(long ulDataInput)
输入参数:
long ulDataInput:输入的正整数
返回值:
String
知识点: 排序
题目来源: 内部整理
练习阶段: 初级
运行时间限制: 10Sec
内存限制: 128MByte
输入:
输入一个long型整数
输出:
按照从小到大的顺序输出它的所有质数的因子,以空格隔开
样例输入: 180
样例输出: 2 2 3 3 5
问题分析:求一个整数(A)的质数因子,采用循环时,首先要判断除数是否为质数,是质数并且可以被A整除才是一个质数因子。
代码:
#include <iostream> using namespace std; bool isornot(int n); int main() { int num; cin>>num; int i=2; for(i=2;num!=1;++i) { if(isornot(i)&&(num%i==0)) { cout<<i<<" "; num=num/i; i=1; } } return 0; } bool isornot(int n)//质数检测 { int count=0; int i=1; for(i=1;i<n/2+1;++i) { if(n%i==0) ++count; } if(count==1) return true; else return false; }
相关文章推荐
- JDBC批处理executeBatch
- ACM 子串和
- 动画(Animation) 它 (闪烁、左右摇摆、跷跷板等功效)
- ubuntu 平台hadoop2.6.0 按装hive 及注意事项
- SpringMVC+Mybatis整合注解
- 找规律 UVALive 6506 Padovan Sequence
- 个人安卓开发调试报错汇总(待补充)
- Python 模块的一般处理
- 关于软件工程的那些事儿————《人·绩效·职业道德》和《一个程序员的生命周期》读后感
- 黑马程序员--集合--4th day
- Linux kernel 的 sendfile 是如何提高性能的
- Supporting Multiple Screens
- 面向对象思想的概述
- C++简单版shared_ptr智能指针的实现
- 2015
- JS(三) 原型对象与原型链
- Nginx Rewrite规则初探
- House Robber[leetcode]题解 c++
- Python中四种运行其他程序的方式
- raspberry fm电台