⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1730.txt

📁 北大ACM题目例程 详细的解答过程 程序实现 算法分析
💻 TXT
字号:


#include"stdio.h"

inline void swap(_int64 &a,_int64 &b)
{a^=b;b^=a;a^=b;}

_int64 gcd(_int64 a,_int64 b)
{
while(a%b){a%=b;swap(a,b);}
return b;
}


int main()
{_int64 a,i,n,k,t,h;

while(1)
{scanf("%I64d",&a);
if(a==0)break;
if(a<0)t=-a;else t=a;

for(i=2,n=999999;t>1&&n>1&&i*i<=t+1;i++)
{if(t%i==0)
	{for(k=1,h=i;h<=t/i&&t%(h*i)==0;h*=i,k++); 
		if(n<99999)n=gcd(n,k);else n=k;
		t/=h;
		}

}
while(a<0&&n%2==0){for(i=2;i<n;i++)if(n%i==0)break; n/=i;}
if(n==999999||t!=1)n=1;
printf("%I64d\n",n);
}

return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -