C++ /C语言数列增长

有一个整数数列,其前三项分别为1、2、3,从第四项开始,每项均为其相邻的前三项之和的1/2。问,该数列从第几项开始,其数值超过某个整数n

如有帮助,望点击我回答右上角【采纳】按钮支持一下。

img

#include<stdio.h>
int  main(){
      int num;
      scanf("%d",&num);
      float a=1,b=2,c=3,d;
      int n=4;
      d=(a+b+c)/2;
      while (d<=num){
          d=(a+b+c)/2;
          a=b;
          b=c;
          c=d;
          n++;
      }
  printf("%d",n);
  return 0;
}
#include <stdio.h>
int main()
{
      int a = 1,b=2,c=3,d;
      int i=4;
      int n;
      scanf("%d",&n);
      d = (a+b+c)/2;
      while(d<=n)
      {
            a=b;
            b=c;
            c=d;
            d = (a+b+c)/2;
            i++;
      }
      printf("从第%d项开始,数列值大于%d\n",i,n);
      return 0;
}