Potenca
Sestavi metodo potenca, ki bo izračunala potenco naravnega števila (če seveda ni prevelika, da bi jo lahko spravili v tip int). Pri tem ne smeš uporabiti razreda Math.
Komentar:
Nalogo lahko poskusiš rešiti tudi rekurzivno.
Namig
Na začetku v spremenljivko rezultat shrani izvorno naravno število. Nato uporabi zanko, v kateri rezultat nekajkrat pomnožiš z izvornim številom. Kolikokrat ga je potrebno pomnožiti?
Rešitev (Java)
import javax.swing.JOptionPane;
public class Potenca {
public static void main(String[] args) {
// preberemo podatke za osnovo in stopnjo potence
String vnos = JOptionPane.showInputDialog("Vnesi število, ki bi ga rad potenciral: ");
int osnova = Integer.parseInt(vnos);
vnos = JOptionPane.showInputDialog("Vnesi stopnjo potence: ");
int stopnja = Integer.parseInt(vnos);
//uporabimo metodo in izpisemo rezultat
int vrednost = potenca(osnova, stopnja);
System.out.println(osnova + " s potenco " + stopnja + " je enako " + vrednost + ".");
}
public static int potenca(int osnova, int stopnja) {
int rezultat = 1;
//trenutno vrednost potence mnozimo z osnovo
for (int i = 0; i<stopnja; ++i) {
rezultat = rezultat * osnova;
}
return rezultat;
}
}
Rešitev (C#)
using System;
using System.Collections.Generic;
using System.Text;
namespace Potenca {
class Potenca {
static void Main(string[] args) {
// preberemo podatke za osnovo in stopnjo potence
Console.Write("Vnesi število, ki bi ga rad potenciral: ");
int osnova = Int32.Parse(Console.ReadLine());
Console.Write("Vnesi stopnjo potence: ");
int stopnja = Int32.Parse(Console.ReadLine());
//uporabimo metodo in izpisemo rezultat
int vrednost = potenca(osnova, stopnja);
Console.WriteLine(osnova + " s potenco " + stopnja + " je enako " + vrednost + ".");
Console.ReadKey();
}
public static int potenca(int osnova, int stopnja) {
int rezultat = 1;
//trenutno vrednost potence mnozimo z osnovo
for (int i = 0; i < stopnja; ++i) {
rezultat = rezultat * osnova;
}
return rezultat;
}
}
}
Rešitev (Python)
#!C:/Python30/python
#-*-encoding: utf-8 -*-
# -*- coding: latin-1 -*-
'''
Created on 26.6.2009
@author: fajdigap
'''
def potenca(osnova, stopnja):
rezultat = 1
#trenutno vrednost potence mnozimo z osnovo
for i in range(stopnja):
rezultat = rezultat * osnova
return rezultat
# preberemo podatke za osnovo in stopnjo potence
osnova= int(input("Vnesi število, ki bi ga rad potenciral: "))
stopnja= int(input("Vnesi stopnjo potence: "))
#uporabimo metodo in izpisemo rezultat
vrednost = potenca(osnova, stopnja)
print (osnova,"s potenco",stopnja,"je enako",vrednost,".")