C uVa100-&x27;3n+;1';~超过时限

C uVa100-&x27;3n+;1';~超过时限,c,C,最近我已经学完了基本的C语言。我开始解决uVa在线法官问题。我解决了3n+1问题,在我的编译器中运行了它。它做得非常好。但当我在网上提交时,它说“超过了时间限制”。我似乎无法给出解决方案 代码如下: #include<stdio.h> int execute(int x, int y) { int i, n, k, maxCycle=0; for(i=x; i<=y; ++i) { n=1; k=i; w

最近我已经学完了基本的C语言。我开始解决uVa在线法官问题。我解决了3n+1问题,在我的编译器中运行了它。它做得非常好。但当我在网上提交时,它说“超过了时间限制”。我似乎无法给出解决方案

代码如下:

#include<stdio.h>
int execute(int x, int y)
{
    int i, n, k, maxCycle=0;

    for(i=x; i<=y; ++i)
    {
        n=1;
        k=i;
        while(k!=1)
        {
            if(k%2==1)
                k=3*k+1;
            else
                k=k/2;
            n++;
        }
        if(n>=maxCycle)
            maxCycle=n;
    }
    return maxCycle;
}

int main()
{
    while(1)
    {
        int a, b, max;
        scanf("%d %d", &a, &b);
        max=execute(a, b);
        printf("%d %d %d\n", a, b, max);
    }
    return 0;
}
#包括
整数执行(整数x,整数y)
{
int i,n,k,maxCycle=0;
对于(i=x;i=maxCycle)
maxCycle=n;
}
返回最大循环;
}
int main()
{
而(1)
{
int a,b,max;
scanf(“%d%d”、&a和&b);
max=执行(a,b);
printf(“%d%d%d\n”,a,b,max);
}
返回0;
}

您没有中断输入获取循环。 在
main()中获取
a、b时使用
while(scanf(“%d%d”,&a和&b)!=EOF)
。 您应该中断输入获取循环,否则它将等待更多输入

int main()
{
    int a,b;
    while(scanf ("%d %d", &a, &b) != EOF )
    {
       int max;
       max=execute(a, b);
       printf("%d %d %d\n", a, b, max);
    }
    return 0;
}

您没有打破输入获取循环。 在
main()中获取
a、b时使用
while(scanf(“%d%d”,&a和&b)!=EOF)
。 您应该中断输入获取循环,否则它将等待更多输入

int main()
{
    int a,b;
    while(scanf ("%d %d", &a, &b) != EOF )
    {
       int max;
       max=execute(a, b);
       printf("%d %d %d\n", a, b, max);
    }
    return 0;
}

您没有打破输入获取循环。 在
main()中获取
a、b时使用
while(scanf(“%d%d”,&a和&b)!=EOF)
。 您应该中断输入获取循环,否则它将等待更多输入

int main()
{
    int a,b;
    while(scanf ("%d %d", &a, &b) != EOF )
    {
       int max;
       max=execute(a, b);
       printf("%d %d %d\n", a, b, max);
    }
    return 0;
}

您没有打破输入获取循环。 在
main()中获取
a、b时使用
while(scanf(“%d%d”,&a和&b)!=EOF)
。 您应该中断输入获取循环,否则它将等待更多输入

int main()
{
    int a,b;
    while(scanf ("%d %d", &a, &b) != EOF )
    {
       int max;
       max=execute(a, b);
       printf("%d %d %d\n", a, b, max);
    }
    return 0;
}

你应该简要描述一下这个问题。当你“最近在学习基础C语言”时,哪本书教你这样缩进代码?!那是苏的编辑。你应该包括一个问题的简要描述。当你“最近在学习基本C语言”时,哪本书教你这样缩进代码?!那是苏的编辑。你应该包括一个问题的简要描述。当你“最近在学习基本C语言”时,哪本书教你这样缩进代码?!那是苏的编辑。你应该包括一个问题的简要描述。当你“最近在学习基本C语言”时,哪本书教你这样缩进代码?!这就是我们的编辑。@Michael Sthuvo Stinson.:如果这个答案有助于接受它。@Michael Sthuvo Stinson.:如果这个答案有助于接受它。@Michael Sthuvo Stinson.:如果这个答案有助于接受它。@Michael Sthuvo Stinson.:如果这个答案有助于接受它。