检查1和N之间存在多少斐波纳契数

时间:2017-02-23 18:52:41

标签: c

使用这个程序,我可以很容易地得到Fibonacci数的序列。

int main(){

int n,i,first=0,second=1,next=0,fib=0;

// 0 1 1 2 3 5 8 13 21 34

printf("Enter the value of N: ");
scanf("%d",&n);

for(i=1;i<=n;i++){


    next = first+second;
    first = second;
    second = next;

    printf("%d",next);


}

}

但是如何获得许多febonacci数字。

例如,如果我输入35,则结果应显示10个febonacci数字。

2 个答案:

答案 0 :(得分:3)

您的for循环正在运行n次迭代,而不是在next超过n之前运行。请参阅代码中的以下修订:

int main(){

  int n,count=2,first=0,second=1,next=0,fib=0;

  // 0 1 1 2 3 5 8 13 21 34

  printf("Enter the value of N: ");
  scanf("%d",&n);

  while((first+second) <= n){      
      next = first+second;
      first = second;
      second = next;    
      printf("%d",next); 
      count++;
  }
  printf("found %d numbers ", count);
}

答案 1 :(得分:0)

以下是答案:

function xxx_pointOfContactid_onchange() {
    xxxToolkit.Common.writeToConsole("begin xxx_pointOfContact_onchange()");
    var jobResourceLookup = Xrm.Page.getAttribute("xxx_pointOfContact").getValue();
    var select = "xxx_firstname,xxx_lastname,xxx_issupervisor";

    if (jobResourceLookup != null) {
        xxxToolkit.Rest.Retrieve(
            jobResourceLookup[0].id
            , "Resource"
            , select
            , null
            , function (retrievedResource) {
                if (retrievedResource.issupervisor == 1) {
                    if (retrievedResource.firstname != null) Xrm.Page.getAttribute("xxx_firstname").setValue(retrievedResource.firstname);
                    if (retrievedResource.lastname != null) Xrm.Page.getAttribute("xxx_lastname").setValue(retrievedResource.lastname);
            } else {
                return;
            }
            , xxxToolkit.Common.errorHandler
            , true //asynchronous
        );
    }
}

感谢VHS