Это для школы, и у меня есть небольшие проблемы с этим.
Учитель хочет, чтобы мы это делали:
- Подсчет количества слагаемых
- Сумма всех значений
(ОБРАТИТЕСЬ К ПРИМЕРУ НИЖЕ В РЕДАКЦИИ)
The
1012 * формула *
показано на рисунке ссылка уже в коде. У меня возникли проблемы, пытаясь понять, как сделать две вещи, перечисленные выше. Я знаю, что ответ, вероятно, очевиден, но я перепробовал все, что мог придумать.
РЕДАКТИРОВАТЬ: Первоначальная цель кода состоит в том, чтобы ввести число (через сканер), а затем использовать две разные формулы для этого числа, пока вы, наконец, не достигнете 1.
Пример:
Ввод: 6
Выход: 6, 3, 10, 5, 16, 8, 4, 2, 1
С чем я прошу помощи:
Условия: 9
Сумма: 55
import java.util.Scanner;
class Main {
public static void main(String[] args)
{
Scanner numInput = new Scanner(System.in);
System.out.print("Number: ");
int x = numInput.nextInt();
int termAmt = 0;
System.out.println(" ");
System.out.print(x + " ");
while (x != 1)
{
// Checking if number is odd or even
if ( (x % 2) == 0 )
{
// This is the formula for if the number is even
x = x / 2;
System.out.print(x + " ");
}
else
{
// This is the formula for if the number is odd
x = (x*3) + 1;
System.out.print(x + " ");
}
}
System.out.println(" ");
System.out.println(" ");
// This is here for when I print out how many terms are printed in the output
System.out.println("Terms: " + termAmt);
}
}