0分求救(不知道为什么输出结果对却空好几个空)。。。
查看原帖
0分求救(不知道为什么输出结果对却空好几个空)。。。
1656473
taizaiyue楼主2025/7/20 12:55

#include<bits/stdc++.h> using namespace std;

int main() { int r; long long ans=1; scanf("%d",&r); for(int i=2;ii<=r;++i) { if((r%i)==0) { int cnt=0; do { r/=i; ++cnt; }while((r%i)==0); if(i%4==1) { ans=cnt<<1|1; } } } if(r!=1 and r%4==1) { ans*=3; } printf("%11d\n",ans<<2); return 0; }

#include<bits/stdc++.h>
using namespace std;

int main()
{
	int r;
	long long ans=1;
	scanf("%d",&r);
	for(int i=2;i*i<=r;++i)
	{
		if((r%i)==0)
		{
			int cnt=0;
			do
			{
				r/=i;
				++cnt;
			}while((r%i)==0);
			if(i%4==1)
			{
				ans*=cnt<<1|1;
			}
		}
	}
	if(r!=1 and r%4==1)
	{
		ans*=3;
	}
	printf("%11d\n",ans<<2); 
	return 0;
}
2025/7/20 12:55
加载中...