胡瀚予
(胡瀚予)
1
#include<bits/stdc++.h>
using namespace std;
bool pd(int x)
{
for(int i = 2;i * i <= x;i++)
{
if(x % i == 0) return 0;
}
return 1;
}
int js(int x)
{
int cnt = 0;
for(int i = 2;i * i <= x;i++)
{
if(x % i == 0 && pd(i))
{
cnt++;
}
}
return cnt;
}
int main()
{
int a,b,sum = 0;
cin >> a;
for(int i = 1;i <= a;i++)
{
cin >> b;
cout << js(b) << "\n";
}
return 0;
}
全WA,但样例过了
4 个赞
黄新宇
(雨宫莲)
3
如果我没猜错的话,这道题应该是问a个样例,求每个样例有多少质因子
4 个赞
胡瀚予
(胡瀚予)
5
题面描述
输入若干个数,每个数位一个 int 类型的整数 x,需要返回这个数 x 所拥有的不同的质因数的个数。
例如数字 252 ,分解质因数为 252=2×2×3×3×7 ,那么它所拥有的不同质因数为 2,3,7 ,个数为 3 。
输入格式
第一行一个整数 q ,表示有 q 组询问。
接下去 q 行,每行包含一个正整数 x,表示一次询问。
输出格式
共 q 行,包含一个整数,表示一组询问的答案。
样例
样例输入
2
48
252
样例输出
2
3
数据范围
1≤q≤1000
2≤x≤106
1s, 256M
题目id_8454
2 个赞
胡瀚予
(胡瀚予)
6
题面描述
输入若干个数,每个数位一个 int 类型的整数 x,需要返回这个数 x 所拥有的不同的质因数的个数。
例如数字 252 ,分解质因数为 252=2×2×3×3×7 ,那么它所拥有的不同质因数为 2,3,7 ,个数为 3 。
输入格式
第一行一个整数 q ,表示有 q 组询问。
接下去 q 行,每行包含一个正整数 x,表示一次询问。
输出格式
共 q 行,包含一个整数,表示一组询问的答案。
样例
样例输入
2
48
252
样例输出
2
3
数据范围
1≤q≤1000
2≤x≤106
1s, 256M
::题目id_8454
1 个赞
胡瀚予
(胡瀚予)
8
已经解决了(就是“js”函数里的循环改成“for (int x = 2; x <= n; x++)”
1 个赞
黄新宇
(雨宫莲)
9
for循坏里面改成for(int i = 2; i<x; i++)试试
1 个赞
肖宇睿
(人畜无害的初中生)
12
你的质因子只会有一次,如4你就只能有一个二,你在每次IF里把i归回一