如果给定的 num 是 Fibonacci num,则函数将 num 作为输入,打印 num,否则打印小于给定 num 的所有偶数 Fib num 的总和
function that takes a num as input if the given num is a Fibonacci num, prints the num,else print sum of all even Fib num less than the given 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);
你想从索引开始,因为 arr[0]、arr[1] 已设置。另外,如果求和你不想对大于 n 的最后一个元素求和。
public class Main
{
public static void main(String[] args) {
int n=9;
int arr[]=new int[n];
arr[0]=0;
arr[1]=1;
int sum=0,i=1;
while(arr[i]<n){
i++;
arr[i]= (arr[i-1] + arr[i-2]);
if(arr[i]==n){
System.out.println(n);
return;
}
}
for(i=0;i<arr.length;i++){
if(arr[i]%2==0 && arr[i]< n) sum+=arr[i];
}
System.out.println( sum);
}
}
如果给定数字是斐波那契数,则函数将数字作为输入,否则打印该数字,打印小于给定数字的所有偶数斐波那契数之和。
输入: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);
你想从索引开始,因为 arr[0]、arr[1] 已设置。另外,如果求和你不想对大于 n 的最后一个元素求和。
public class Main
{
public static void main(String[] args) {
int n=9;
int arr[]=new int[n];
arr[0]=0;
arr[1]=1;
int sum=0,i=1;
while(arr[i]<n){
i++;
arr[i]= (arr[i-1] + arr[i-2]);
if(arr[i]==n){
System.out.println(n);
return;
}
}
for(i=0;i<arr.length;i++){
if(arr[i]%2==0 && arr[i]< n) sum+=arr[i];
}
System.out.println( sum);
}
}