救命!!又TLE
  • 板块学术版
  • 楼主Chalage_2010
  • 当前回复4
  • 已保存回复4
  • 发布时间2022/11/20 15:25
  • 上次更新2023/10/27 02:13:06
查看原帖
救命!!又TLE
760690
Chalage_2010楼主2022/11/20 15:25

题目描述

题面描述
输入若干个数,每个数位一个 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

我的代码

#include<bits/stdc++.h>
using namespace std;
bool a(int x)
{
	if(x==1)
	{
		return false;
	 } 
	 for(int i=2;i*i<=x;i++)
	 {
	 	if(x%i==0)
	 	{
	 		return false;
		 }
	 }
	 return true;
}
int main()
{
	int q;
	long long x;
	cin>>q;
	for(int i=1;i<=q;i++)
	{
		int ans=0;
		scanf("%ld",&x);
		for(int j=2;j<=x;j++)
		{
			if(a(j) and x%j==0)
			{
			 	ans++;
		    }
	    }
	    printf("%d\n",ans);
	}
	return 0;
}

请各位大佬看看有什么问题

2022/11/20 15:25
加载中...