https://www.nowcoder.com/pat/2/problem/262 1013 分解因数
https://www.nowcoder.com/pat/2/problem/264 1014 因子个数
思路 :
从i=2开始求余,直至余数不为0,其后从3开始求余......
直至i小于等于被除数n的数值(或n的开平方数值)
&&:利用了素数的知识点(求素数的算法演变)

1013



#include<cstdio> #include<cmath> using namespace std; int main(){     int a;     int ai[100];     while(scanf("%d", &a) != EOF)     {         int b = a;         int j = 0;         for(int i = 2; i <= a; i++)         {             while(b % i == 0)             {                 ai[j++] = i;                 b = b/i;             }             if(b <= 1)                 break;         }         printf("%d = %d", a, ai[0]);         for(int i = 1; i < j; i++)         {             printf(" * %d", ai[i]);         }         printf("\n");     }     return 0; }

1014

#include<iostream>
#include<cmath>
using namespace std;

int main(){
    int a;

    while(cin >> a)
    {
        int b = a;
        int j = 0;

        for(int i = 2; i <= sqrt(a); i++)
        {
            int flag = 0;
            while(b % i == 0)
            {
                b = b/i;
                flag = 1;
            }
            if(flag)
                j++;
        }
        if(b != 1)
            j++;
       cout << j <<endl;
    }

    return 0;
}