algorytm.org

Implementacja w Java



Baza Wiedzy
wersja offline serwisu przeznaczona na urządzenia z systemem Android
Darowizny
darowiznaWspomóż rozwój serwisu
Nagłówki RSS
Artykuły
Implementacje
Komentarze
Forum
Bookmarki






Sonda
Implementacji w jakim języku programowania poszukujesz?

Szybkie potęgowanie modularne - Implementacja w Java
Ocena użytkownikóww: *****  / 1
SłabyŚwietny
Nadesłany przez Tomasz Lubiński, 13 listopada 2006 01:00
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.
Pobierz pełne rozwiązanie.

Jeżeli nie odpowiada Ci sposób formatowania kodu przez autora skorzystaj z pretty printer'a i dostosuj go automatycznie do siebie.

SPM.java:
//
// Szybkie Potegowanie modulo
//
// www.algorytm.org
// (c)2006 Tomasz Lubinski
//

public class SPM {
	
	public static int power_modulo_fast(int a, int b, int m) {
	   int i;
	   int result = 1;
	   long x = a%m;

	   for (i=1; i<=b; i<<=1) {
	      x %= m;
	      if ((b&i) != 0) {
	         result *= x;
	         result %= m;
	      }
	      x *= x;
	   }

	   return result;
	}	

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		//9688563^45896 mod 71 = 30
		System.out.println("9688563^458926 mod 71 = " + power_modulo_fast(9688563, 458926, 71));

		//12^53 mod 7 = 3
		System.out.println("12^53 mod 7 = " + power_modulo_fast(12, 53, 7));

	}

}
Dodaj komentarz