大佬们帮帮!第三个测试点超时了。。。(C语音,用realloc动态分配内存)
查看原帖
大佬们帮帮!第三个测试点超时了。。。(C语音,用realloc动态分配内存)
1004048
FreshLittleLemon楼主2023/8/15 17:15
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int n,i=1,j;
    int* a=NULL;
    scanf("%d",&n);
    j=n;
    while (n!=1) {
        a=(int* )realloc(a,(i+1)*sizeof(int));
        a[0]=j;
        if (n%2==0) {
            a[i]=n/2;
        } else {
            a[i]=n*3+1;
        }
        n=a[i];
        i++;
    }
    for (j=i-1;j>-1;j--) {
        printf("%d ",a[j]);
    }
    free(a);
    return 0;
}

动态分配内存真的不如直接开一个大数组嘛

2023/8/15 17:15
加载中...