如果给定的 num 是 Fibonacci num,则以 num 作为输入的函数,则打印该 num,否则打印所有小于给定 num 的偶数 Fibonacci num 的总和
如果给定数字是斐波那契数,则函数将数字作为输入,否则打印该数字,否则打印所有小于给定数的偶数斐波那契数的总和。
输入:20 输出:10
输入:21 输出:21
我尝试这样做:
int n=22;
int arr[]=new int[n];
arr[0]=0;
arr[1]=1;
int sum=0,i=0;
while(arr[i]<=n){
arr[i]= (arr[i-1] + arr[i-2]);
if(arr[i]==n) System.out.println(n);
i++;
}
for(i=0;i<arr.length;i++){
if(arr[i]%2==0) sum+=arr[i];
}
System.out.println(sum);
function that takes a number as input if the given number is a Fibonacci number, prints the number otherwise, print the sum of all even Fibonacci numbers less than the given number.
Input: 20
Output: 10
Input: 21
Output: 21
I tried doing this :
int n=22;
int arr[]=new int[n];
arr[0]=0;
arr[1]=1;
int sum=0,i=0;
while(arr[i]<=n){
arr[i]= (arr[i-1] + arr[i-2]);
if(arr[i]==n) System.out.println(n);
i++;
}
for(i=0;i<arr.length;i++){
if(arr[i]%2==0) sum+=arr[i];
}
System.out.println(sum);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
由于设置了 arr[0]、arr[1],因此您希望从索引处开始。另外,当求和时,如果最后一个元素大于 n,则不想对它求和。
You want to start at index since arr[0], arr[1] are set. Also when sum you dont want to sum last element if its bigger than n.