有没有什么更快地求因数方法 qwq
  • 板块学术版
  • 楼主JYK12345
  • 当前回复9
  • 已保存回复9
  • 发布时间2023/1/10 18:40
  • 上次更新2023/10/24 04:51:21
查看原帖
有没有什么更快地求因数方法 qwq
511784
JYK12345楼主2023/1/10 18:40

题目 2022 csp j第二题 代码:

#include<iostream>
  
using namespace std;
  
long long cmp(long long sum,long long n){
   //求大佬帮忙看看有没有什么更快求因数的方法 
	for(int i=1;i*i<=n;i++){
if(n%i==0){
			if(n/i+n/(n/i)==sum){
				return i;
			}
		}
	}
	return 0;}                     
int main(){                         
	long long n,e,d,q,p;               		long long s,sum=0,cnt=0,i,j;             	long long b,m;                   
	cin>>s;
	for(i=1;i<=s;i++){        
		cin>>n>>e>>d;
		sum=n-(e*d)+2;
  			cnt=cmp(sum,n);
	if(cnt==0) cout<<"NO"<<endl;
		else{
   			b=cnt;
			m=n/cnt;
	if(b>=m) cout<<m<<" "<<b<<endl;
	if(b<m) cout<<b<<" "<<m<<endl;}              }
	//freopen("文件名.in","r",stdin);
	//freopen("文件名.out","w",stdout);
return 0;
}

2023/1/10 18:40
加载中...