- 475 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 22:56:31 ]
- >>473
1から1000までの範囲にしといた #include <stdio.h> #define N 300 int f(int); int k=0,array[N]={0}; int main(void) { int n,a,b=0,c; for(n=1;n<=1000;n++) { a=f(n);k=0; if(a>b) { b=a; c=n; } } printf("%d %d\n\n",c,f(c)); for(n=0;n<=b;n++) printf("%d ",array[n]); return 0; } int f(int n) { array[k++]=n; if(n==1) return k-1; if(n%2==0) f(n/2); else f(3*n+1); }
|

|