Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
Bool
0 / 0 / 0
Регистрация: 15.04.2012
Сообщений: 12
1

Написать программу вычисления n!=1*2*3*...*n. (Записать варианты программы с разными видами циклов while, repeat, for).

26.04.2012, 12:52. Просмотров 1247. Ответов 4
Метки нет (Все метки)

Написать программу вычисления n!=1*2*3*...*n. (Записать варианты программы с разными видами циклов while, repeat, for).
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.04.2012, 12:52
Ответы с готовыми решениями:

Написать программу вычисления n!=1*2*3*...*n. (Записать варианты программы с разными видами циклов while, repeat, for).
Написать программу вычисления n!=1*2*3*...*n. (Записать варианты программы с разными видами циклов...

Составьте программу вычисления степени числа a с натуральным показателем n. (Записать варианты программы с разными видами циклов while, repeat, for).
Составьте программу вычисления степени числа a с натуральным показателем n. (Записать варианты...

Составить программу вычисления степени числа А с натуральным показателем N . (Записать варианты программы с 3 видами циклов: for, while, do…while)
Составить программу вычисления степени числа А с натуральным показателем N . (Записать варианты...

Циклы. Составить 3 программы с разными видами циклов, которые должны печатать имя 10 раз.
Составить 3 программы с разными видами циклов, которые должны печатать имя 10 раз... Помогите...

Предложить варианты записи данного кода всеми тремя видами циклов
Предложить варианты записи данного кода всеми тремя видами циклов. Выбрать наиболее оптимальный и...

4
Петррр
6177 / 3478 / 898
Регистрация: 28.10.2010
Сообщений: 5,928
26.04.2012, 13:39 2
Java
1
2
3
4
5
6
7
8
9
10
public static int factorial (int n) throws Exception {
    if (n < 0)
        throw  new Exception("Значение меньше нуля");
    if (n == 0)
        return 1;
    int result = 1;
    for(int i = 1; i <= n; result *= i, i++)
        ;
    return result;
}
0
Золотце
141 / 104 / 16
Регистрация: 21.04.2011
Сообщений: 402
26.04.2012, 14:06 3
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class t {
    
    public static Long fact(Long current, Long res){
        if (current==1)
            return res;
        else
            return fact(current-1,res*current);
    }
    public static Long factor(Long val){
        return fact(val,1l);
    }
    
    public static void main(String[] args) {
        System.out.println(factor(10l));
    }
}
Хвостовая. (Знаю что не работает)
0
turbanoff
Эксперт Java
4029 / 3764 / 743
Регистрация: 18.05.2010
Сообщений: 9,330
Записей в блоге: 11
Завершенные тесты: 1
27.04.2012, 07:53 4
Немного не по заданию конечно, но приведу вариант быстрого факториала для long.(из guava)
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
  public static long factorial(int n) {
    if (n < 0) {
      throw new IllegalArgumentException("n (" + n + ") must be >= 0");
    return (n < FACTORIALS.length) ? FACTORIALS[n] : Long.MAX_VALUE;
  }
 
  static final long[] FACTORIALS = {
      1L,
      1L,
      1L * 2,
      1L * 2 * 3,
      1L * 2 * 3 * 4,
      1L * 2 * 3 * 4 * 5,
      1L * 2 * 3 * 4 * 5 * 6,
      1L * 2 * 3 * 4 * 5 * 6 * 7,
      1L * 2 * 3 * 4 * 5 * 6 * 7 * 8,
      1L * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9,
      1L * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10,
      1L * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10 * 11,
      1L * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10 * 11 * 12,
      1L * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10 * 11 * 12 * 13,
      1L * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10 * 11 * 12 * 13 * 14,
      1L * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10 * 11 * 12 * 13 * 14 * 15,
      1L * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10 * 11 * 12 * 13 * 14 * 15 * 16,
      1L * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10 * 11 * 12 * 13 * 14 * 15 * 16 * 17,
      1L * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10 * 11 * 12 * 13 * 14 * 15 * 16 * 17 * 18,
      1L * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10 * 11 * 12 * 13 * 14 * 15 * 16 * 17 * 18 * 19,
      1L * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10 * 11 * 12 * 13 * 14 * 15 * 16 * 17 * 18 * 19 * 20
  };
1
walkman803
1 / 1 / 0
Регистрация: 03.04.2012
Сообщений: 7
28.04.2012, 20:32 5
Вариант 1:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public class Main 
{
 
    static int factorial (int num)
    {
        switch (num)
        {
        case 0:
            return 0;
        case 1:
            return 1;
        default:
                return factorial(num - 1) * num;
        }
    }
    
    public static void main(String[] args) 
    {
        System.out.println(factorial(3));
    }
 
}
Вариант 2:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class Main 
{
 
    static int factorial (int num)
    {
        int result = 1;
        
        for (int i = 1; i <=num; i++)
        {
            result = result * i;
        }
        
        return result;
    }
    
    public static void main(String[] args) 
    {
        System.out.println(factorial(5));
    }
 
}
0
28.04.2012, 20:32
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.04.2012, 20:32

Написать все доступные варианты организации циклов (возврата программы к определённой строке кода)
Здравствуйте! Напишите, пожалуйста, ВСЕ доступные (ну если их 3-5, если же много, то хотя бы 5,...

Записать 3 варианта (с циклами while, repeat, for) программы вычисления условной функции
Записать 3 варианта (с циклами while, repeat, for) программы вычисления условной функции в...

написать программу для вычисления суммы ряда( через команду :"repeat")
День добрый, помогите пожалуйста &quot;Написать программу вычисления суммы ряда: (x-1)+(x-3)+...(x-n)....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru