华为机试在线训练-牛客网(4)质数因子

来源:互联网 发布:淘宝易轩数码靠谱吗 编辑:程序博客网 时间:2024/05/17 06:39


题目描述

功能:输入一个正整数,按照从小到大的顺序输出它的所有质数的因子(如180的质数因子为2 2 3 3 5 )

最后一个数后面也要有空格

详细描述:


函数接口说明:

public String getResult(long ulDataInput)

输入参数:

long ulDataInput:输入的正整数

返回值:

String




输入描述:

输入一个long型整数



输出描述:

按照从小到大的顺序输出它的所有质数的因子,以空格隔开。最后一个数后面也要有空格。


输入例子:
180

输出例子:
2 2 3 3 5

最简洁的实现:

#include <iostream>#include <stdlib.h>using namespace std;int main(){        int num,i;        cin>>num;        for(i = 2; i <= num; i++) {            while(num % i == 0) {                cout<<i<<" ";                num /= i;            }        }        return 0;}

补:

判断一个数是否为素数:

bool isPrime(int n)    //素数判断{    if(n<2)            //如果n小于2就不是素数,素数规定大于或等于2的整数        return false;    for(int i=2;i*i<=n;i++){        if(n % i == 0)            return false;    }    return true;}








0 0
原创粉丝点击