У овом програму ћете научити да израчунавате снагу броја помоћу рекурзивне функције у Јави.
Да бисте разумели овај пример, требало би да имате знање о следећим темама програмирања Јава:
- Јава методе
- Јава Рецурсион
Пример: Програм за израчунавање снаге помоћу рекурзије
public class Power ( public static void main(String() args) ( int base = 3, powerRaised = 4; int result = power(base, powerRaised); System.out.printf("%d^%d = %d", base, powerRaised, result); ) public static int power(int base, int powerRaised) ( if (powerRaised != 0) return (base * power(base, powerRaised - 1)); else return 1; ) )
Оутпут
3 4 = 81
У горњем програму рачунате снагу помоћу рекурзивне функције повер ().
Једноставно речено, рекурзивна функција множи базу са собом за времена повећана снагом, а то је:
3 * 3 * 3 * 3 = 81Кораци извршења
Понављање | снага() | поверРаисед | резултат |
---|---|---|---|
1 | снага (3, 4) | 4 | 3 * резултат 2 |
2 | снага (3, 3) | 3 | 3 * 3 * резултат 3 |
3 | снага (3, 2) | 2 | Резултат 3 * 3 * 3 * 4 |
4 | снага (3, 1) | 1 | 3 * 3 * 3 * 3 * резултат коначан |
Коначни | снага (3, 0) | 0 | 3 * 3 * 3 * 3 * 1 = 81 |