牛客网 刷题质因数个数 C语言

题目描述

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

输入描述:

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

输出描述:

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

示例1

输入

复制

120

输出

复制

5

 #include <stdio.h>
 int main()
 {
   int n, count, i;
   while (scanf("%d", &n) != EOF) {
     count = 0;
     for (i = 2; i*i<=n;i++) {
       if(n % i == 0){
         while (n % i == 0) {
           count ++;
           n /= i;
         }
       }
     }
     if (n > 1) {
       count ++;
     }
     printf("%d\n", count);
   }
   return 0;
 }
 

发布了3 篇原创文章 · 获赞 0 · 访问量 23

猜你喜欢

转载自blog.csdn.net/weixin_41943168/article/details/105252817
今日推荐