题解 | #奇♂妙拆分#
奇♂妙拆分
https://ac.nowcoder.com/acm/problem/14709
题目考点:因数、枚举
题目大意:将数字拆成因数相乘的形式,问有多少个不同因子。
分析:暴力枚举即可(以为会被大素数卡掉实际上数据不大)
代码:
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
int t, n;
bool primer(int n)
{
if(n < 2) return false;
for(int i = 2; i <= n/i; i++)
if(n % i == 0) return false;
return true;
}
int main()
{
scanf("%d", &t);
while(t--)
{
scanf("%d", &n);
if(primer(n))
printf("2\n");
else
{
int cnt = 0;
for(int i = 1; i <= n; i++)
{
if(n % i == 0)
{
cnt ++; n /= i;
}
}
printf("%d\n", cnt);
}
}
return 0;
}
题解专栏 文章被收录于专栏
希望不断进步