這道題是沖著他是數(shù)論題去做的,開始對(duì)他給的這個(gè)式子
seed(x+1) = [ seed(x) + STEP ] % MOD很困惑,然后就開始翻算法導(dǎo)論,剛剛看完解模線性方程,看這個(gè)式子和這種方程長(zhǎng)得有點(diǎn)相像,就在反復(fù)琢磨,鉆牛角尖,突然眼睛一亮,想到了,模加法,這就是個(gè)以MOD的群,這道題就變成了,初始的A值是什么的情況下,使得子群的模為MOD
是在A和MOD互質(zhì)的情況下,這道題就迎刃而解了
下面是代碼:
1
#include<stdio.h>
2
int EUCLD(int a,int b)
3
{
4
if(!b)return a;
5
else return EUCLD(b,a%b);
6
}
7
int main()
8
{
9
int STEP,MOD,d;
10
while(scanf("%d%d",&STEP,&MOD)!=EOF)
11
{
12
d=EUCLD(STEP,MOD);
13
printf("%10d%10d",STEP,MOD);
14
if(d==1)printf(" Good Choice\n\n");
15
else printf(" Bad Choice\n\n");
16
}
17
return 0;
18
}
#include<stdio.h>2
int EUCLD(int a,int b)3
{4
if(!b)return a;5
else return EUCLD(b,a%b);6
}7
int main()8
{9
int STEP,MOD,d;10
while(scanf("%d%d",&STEP,&MOD)!=EOF)11
{12
d=EUCLD(STEP,MOD);13
printf("%10d%10d",STEP,MOD);14
if(d==1)printf(" Good Choice\n\n");15
else printf(" Bad Choice\n\n");16
}17
return 0;18
}

