测试代码~
程序代码:
#include<stdio.h> #include<math.h> int main() { int m=0; int n=0; int k=0; int a=0; int t=0; double k1=0; double k2=0; int i=0; printf("请输入m n:"); scanf("%d%d",&m,&n); for (i=1,a=n,t=(m*n-1);a!=1;++i) { k1=a/(double )t; a=(a+a)%t; k2=(a/(double )t-k1)*(n-1); k2=fmod(k1+k2,1.0); if (k2<0) ++k2; a=((int )(k2*t+0.5))%t; } printf("%d\n",i); return 0; }
[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]