hdu1019
套LCM模板
hdu1576
给我的启发还是推导公式
推导公式是数学题/数论题的基础
本题通过推导得到Bx-9973y=n(x即为所求)
然后套exgcd的模板即可
hdu2504
基础的GCD
hdu2588
题目给出的提示是用欧拉函数,但是我想破脑袋也不知道和欧拉函数的关系。
后来发现是要巧妙地转化一下,欧拉函数的重点就在于互质嘛
很有趣的一道题目!
一定要试试看!
hdu5223
贪心+GCD
**hdu5584
LCM+思维
很有趣的一道题目,其中证明gcd始终为k的一步比较考验数学感觉。
hdu5902
暴力,很无聊的一题。
卡了我很久很久。
#include<bits/stdc++.h>
using namespace std;
int gcd(int a,int b)
{
return b==0?a:gcd(b,a%b);
}
int a[1500];
bool g[1600];
int main()
{
int t;
cin>>t;
while(t--)
{
int n;
cin>>n;
for(int i=1;i<=n;i++)cin>>a[i];
memset(g,0,sizeof g);
for(int i=1;i<=n;i++)
{
for(int j=i+1;j<=n;j++)
{
g[gcd(a[i],a[j])]=1;
}
}
bool f=1;
int num=2;
while(f==1&&num<=n-2)
{
f=0;
num++;
for(int i=1;i<=1000;i++)
{
if(g[i])
{
for(int j=1;j<=n;j++)
{
if(!g[gcd(i,a[j])])
{
g[gcd(i,a[j])]=1;
f=1;
}
}
}
}
}
int p=1;
for(int i=1;i<=1000;i++)
{
if(g[i])
{
if(p)
{
p--;
cout<<i;
}
else cout<<" "<<i;
}
}
cout<<endl;
}
}