Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

Newman-Conway 시퀀스의 n항 인쇄

<시간/>

Newman-Conway 시퀀스는 다음 정수 시퀀스를 생성하는 데 사용됩니다.

1 1 2 2 3 4 4 4 5 6 7 7 8 8 8 8 9 10 11 12

n개의 수에 대한 Newman-Conway 시퀀스를 생성하는 데 사용되는 공식은 -

입니다.
P(n) = P(P(n - 1)) + P(n - P(n - 1))
Where, p(1) =p(2) =1

알고리즘

START
Step 1 -> Input variable n(e.g. 20)
Step 2 -> start variables as i, p[n+1], p[1]=1, p[2]=1
Step 3 -> Loop For i=3 and i<=n and i++
   Set p[i] = p[p[i - 1]] + p[i - p[i - 1]]
      Print p[i]
   Step 4 -> End Loop For
STOP

예시

#include<stdio.h>
int main() {
   int n = 20,i;
   int p[n + 1];
   p[1] = 1;
   p[2] = 1;
   printf("Newman-Conway Sequence is :");
   printf("%d %d ",p[1],p[2]);
   for (i = 3; i <= n; i++) {
      p[i] = p[p[i - 1]] + p[i - p[i - 1]];
      printf("%d ",p[i]);
   }
   return 0;
}

출력

위의 프로그램을 실행하면 다음과 같은 출력이 생성됩니다.

Newman-Conway Sequence is :1 1 2 2 3 4 4 4 5 6 7 7 8 8 8 8 9 10 11 12