| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
求GCD时栈溢出,推荐使用int Gcd(int a, int b){ return a == 0 ? b : Gcd(b % a, a); }In Reply To:请高手们帮我看一下我的代码,为什么runtime error哦??? Posted by:b412860771 at 2006-05-03 01:56:21 > #include<stdio.h>
> long f(long m,long n)
> {
> if(m==n)return m;
> else if(m>n)return f(m-n,n);
> else return f(m,n-m);
>
> }
> main()
> {
> long b[1006],temp=1,x,y,te,s=1;
> int n,i,t,a[1006],c[1006],j=1;
> scanf("%d",&n);
> for(i=0;i<1004;i++)
> c[i]=0;
> for(i=1;i<=n;i++)
> scanf("%d",&a[i]);
> for(i=1;i<=n;i++)
> {
> if(c[i]==0)
> {
> t=a[i];c[i]=1;
> while(i!=t)
> {c[t]=1;t=a[t];s=s+1;}
> b[j]=s;j++;s=1;
> }
> }
> for(i=2;i<j;i++)
> {
> x=b[i-1];y=b[i];te=x*y;
> temp=f(x,y);
> if(temp>0)
> b[i]=te/temp;
> }
> printf("%ld",b[i-1]);
> }
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator