MySQL趣味題 Hankson的趣味題

2021-10-20 01:40:25 字數 1356 閱讀 2678

思路:由於x是b1的約數,所以x的質因子一定也是b1的質因子,

我們可以對b1的每個質因子p,分別計算a0,a1,b0,b1分別

包含多少個p.然後討論x可能含有幾個p即可

#include

#include

#include

#include

#include

#include

using namespace std;

int a[100005],b[100005];

int main()

int k=0;

for(int i=2; i<=100000; i++)

if(b[i]==0)

a[++k]=i;

for(int j=i; j<=100000/i; j++)

b[j*i]=1;

int t,n,x0,x1,y0,y1;

scanf("%d",&t);

while(t--)

scanf("%d %d %d %d",&x0,&x1,&y0,&y1);

int ans=1;

for(int i=1; i<=k; i++)

int s=0;

if(y1==1)

break;

if(y1%a[i]==0)

while(y1%a[i]==0)

s++;

y1=y1/a[i];

int u1=0,u2=0,u3=0;

while(x0%a[i]==0)

x0=x0/a[i];

u1++;

while(x1%a[i]==0)

x1=x1/a[i];

u2++;

while(y0%a[i]==0)

y0=y0/a[i];

u3++;

if(u1==u2&&u3

ans=0;

y1=1;

break;

else if(u1==u2&&u3==s)

if(s

y1=1;

ans=0;

break;

else

ans=ans*(s-u1+1);

else if(u1>u2&&u3

ans=0;

y1=1;

break;

else if(u1>u2&&u3==s&&u2>s)

ans=0;

y1=1;

break;

if(y1>1)

if(y0==y1&&x1==1)

ans=ans*2;

else if(x1!=1)

ans=0;

printf("%d\n",ans);

Hankson的趣味題

問題描述 hanks博士是bt bio tech,生物技術 領域的知名專家,他的兒子名叫hankson。現在,剛剛放學回家的hankson正在思考乙個有趣的問題。今天在課堂上,老師講解了如何求兩個正整數c1和c2的最大公約數和最小公倍數。現在hankson認為自己已經熟練地掌握了這些知識,他開始思考...

Hankson的趣味題(藍橋杯)

時間限制 1 sec 記憶體限制 128 mb 提交 命題人 外部匯入 題目描述hanks 博士是bt bio tech,生物技術 領域的知名專家,他的兒子名叫hankson。現 在,剛剛放學回家的hankson 正在思考乙個有趣的問題。今天在課堂上,老師講解了如何求兩個正整數c1 和c2 的最大公...

NOIP09 Hankson的趣味題

hanks 博士是bt bio tech,生物技術 領域的知名專家,他的兒子名叫hankson。現在,剛剛放學回家的hankson 正在思考乙個有趣的問題。今天在課堂上,老師講解了如何求兩個正整數c1 和c2 的最大公約數和最小公倍數。現在hankson 認為自己已經熟練地掌握了這些知識,他開始思考...