zoukankan      html  css  js  c++  java
  • 质因数的个数

    题目描述

    求正整数N(N>1)的质因数的个数。 相同的质因数需要重复计算。如120=2*2*2*3*5,共有5个质因数。

    输入描述:

    可能有多组测试数据,每组测试数据的输入是一个正整数N,(1<N<10^9)。

    输出描述:

    对于每组数据,输出N的质因数的个数。
    示例1

    输入

    120
    

    输出

    5

    解题思路

    求解质因数,对N 从2 - sqrt(N) 进行遍历,如果能够整除 i ,说明 i 即为其质因数。

    再将 N = N / i  。若 N 是一个无法分解的质因数,那么最后还要加上1。

     1 #include <stdio.h>
     2 #include <stdlib.h>
     3 #include <math.h>
     4 int main()
     5 {
     6     long N;
     7     int count = 0;
     8     while(scanf("%ld",&N)!=EOF)
     9     {
    10         for(long i= 2;i<sqrt(N);i++)
    11         {
    12             while(N%i==0)
    13             {
    14                  count++;
    15                  N = N/i;
    16             }
    17         }
    18         printf("%d",count+1);
    19     }
    20     return 0;
    21 }
  • 相关阅读:
    tar.gz文件
    Ruby Symbol
    Ruby表达式
    Linux相关命令
    Ruby file
    Tomcat优化
    修改Linux文件的所属用户和组
    Ruby String
    Ruby Range
    HTML5开源专业图像处理引擎——AlloyImage(简称AI)
  • 原文地址:https://www.cnblogs.com/jiashun/p/newcode6.html
Copyright © 2011-2022 走看看