求助站外题
  • 板块灌水区
  • 楼主zhuangzhou
  • 当前回复0
  • 已保存回复0
  • 发布时间2022/1/30 10:13
  • 上次更新2023/10/28 10:04:38
查看原帖
求助站外题
513036
zhuangzhou楼主2022/1/30 10:13

网址:http://47.104.93.98/contest/64/problem/DB0105

60分,后两个点TLE,求助

code:

#include <bits/stdc++.h>
using namespace std;
long long calc(long long x) 
{
	long long sum=0;
	for(long long i=1;i<=x;i++)
	{
		if(x%i==0) sum+=i;
	}
	return sum;
}
int main()
{
  std::ios::sync_with_stdio(0);
  long long a,b;
  scanf("%lld%lld",&a,&b);
  int ysa=0;
  for(long long i=1;i<=round(sqrt(a));i++)  
  {
  	if(a%i==0) ysa++;
  }
  if(ysa==1)
  {
  	long long l1=round(sqrt(a));
  	long long l2=calc(b);
  	long long l3=l1*l1;
  	printf("%lld",l2*l3);
  }
  else
  {
  	long long l4=round(sqrt(b));
  	long long l5=calc(a);
  	long long l6=l4*l4;
  	printf("%lld",l5*l6);
  }
  return 0;
}
2022/1/30 10:13
加载中...