0
Мне нужно сделать факториальную таблицу для назначения, а где-то вдоль линии моя логика неправильная. Вот что я до сих пор.Проблема с факториальной таблицей
public static void factors(int n) {
int r = 1; //starts r as zero, as a basis for multiplication
int t = n;
int q; //allows original number to be shown
while(n > 1) { // factorial calculation
r= r * n;
n = n- 1;
}
while(t>0) {
table(t,r);
t=t-1;
}
}
public static void table(int t, int r){
// while(n>0)
System.out.println(t+ "\t"+r);
// n=n-1;
}
И вот выход.
15 1409286144
14 1409286144
13 1409286144
12 1409286144
11 1409286144
10 1409286144
9 1409286144
8 1409286144
7 1409286144
6 1409286144
5 1409286144
4 1409286144
3 1409286144
2 1409286144
1 1409286144
А что вы ожидаете получить? В вашем коде вы уменьшаете 't' в цикле, оставляя константу' r', и печатаете полученный кортеж, разделенный символом табуляции. – alko
@alko Я хочу получить факториалы каждого числа. –
ник, когда вы вызываете 'table', вы всегда вызываете его с тем же' r'. Почему вы ожидаете получить разные 'r' в результате? Компьютеры не могут читать ваши мысли, они только делают то, что говорит код. – tucuxi