Числа Фибоначчи на Java!
Пользователь вводит два целых положительных числа, входное и выходное значения. Словно промежуток. Так, далее из этого промежутка выводит числа Фибоначчи на экран, с помощью цикла (а не рекурсивных функций ) и находит их сумму.
у меня выходит только если задать определенное количество чисел. Кто может помочь? Буду благодарен .
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Enter a range: ");
int from = scanner.nextInt();
int to = scanner.nextInt();
int previous = 0;
int current = 1;
int temp, sum = 0;
if (inRange(previous, from, to)) {
System.out.println(previous);
}
if (inRange(current, from, to)) {
System.out.println(current);
sum += current;
}
while (true) {
temp = current;
current = current + previous;
previous = temp;
if (current > to) break;
if (inRange(current, from, to)) {
System.out.println(current);
sum += current;
}
}
System.out.println("Sum = " + sum);
}
private static boolean inRange(int number, int from, int to) {
return number >= from && number <= to;
}
}
Числа Фибоначчи довольно быстро растут, пробегайся по ним с самого начала и сравнивай с диапазоном, если в диапазоне, то выводи, как только дойдут до заданного максимума - выходи из цикла.