zoukankan      html  css  js  c++  java
  • zzuli训练赛_05_13-K

    题意:

    是输入N,2<=N<=100000,求N的质因子个数。

    样例输入

    12
    5
    30
    

    样例输出

    2
    1
    3
    

    提示

    12 = 2 * 2 * 3

    5 = 5

    30 = 2 * 3 * 5 
     
    解题思路:
    就写个判断质数的函数,循环判断就可以,不过不是质数就加,是不同的质数。
     
    具体代码:
    #include<iostream>
    #include<cmath>
    #include<cstring>
    using namespace std;
    bool temp[100000];
    bool Try(int n)//判断素数 
    {
        if(n==2)
            return true;
        for(int i=2;i<n;i++)
        {
            if(n%i==0)
                return false;
        }
        return true;
    }
    int main()
    {
        int n;
        int num,sum;
        while(cin>>n)
        {
             sum=0;
             num=2;
             memset(temp,false,sizeof(temp));
             while(n)
             {
                 if(n==1)
                     break;
                 if(Try(num)&&n%num==0)
                 {
                     n/=num;
                     temp[num]=1;
                 }
                 else
                 {
                     num++; 
                 }
             }
             for(int i=0;i<=100000;i++)
                 if(temp[i])
                     sum++;
             cout<<sum<<endl;
        }
        system("pause");
        return 0;
    }
    View Code
  • 相关阅读:
    Python内存管理机制
    哈希表(散列表)
    Python面向对象三大特性
    Python 面向对象继承
    Python面向对象 类的空间问题
    面向对象初识
    增量式爬虫
    分布式爬虫
    crawlscrapy框架
    HTML
  • 原文地址:https://www.cnblogs.com/baoluqi/p/3731882.html
Copyright © 2011-2022 走看看