Advertisement
blackpab

Symbol Newtona - Dynamiczniev2

Nov 18th, 2017
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.88 KB | None | 0 0
  1. package dynnewton;
  2.  
  3. import java.util.Scanner;
  4.  
  5. public class DynNewton {
  6.  
  7.     public static void main(String[] args) {
  8.         Scanner skanuj = new Scanner(System.in);
  9.         int n, k;
  10.         System.out.println("Obliczanie symbolu newtona metoda Dynamiczna");
  11.        
  12.         //0 <= k < n
  13.         //Wczytujemy tak dlugo az n i k spelnia warunki symbolu newtona
  14. //        do {
  15. //            System.out.print("Podaj n= ");
  16. //            n = skanuj.nextInt();
  17. //            System.out.print("Podaj k= ");
  18. //            k = skanuj.nextInt();            
  19. //        } while (0 > k || k > n);
  20.         n=3;
  21.         k=3;
  22.        
  23.         int nKolumna = n + 1; //kolumny n=0,1,2,3,4,5..
  24.         int kWiersz = k + 1; //wiersze k=0,1,2,3..
  25.  
  26.         int[][] tablicaNewton = new int[kWiersz][nKolumna];
  27.        
  28.         //Zgodnie z definicja uzupelniamy tablice 1 w odpowiednich miejscach
  29.         for (int i = 0; i < kWiersz; i++) //0,1,2,3
  30.         {
  31.             for (int j = 0; j < nKolumna; j++) { //0,1,2,3,4,5
  32.                 if (i == 0) {
  33.                     tablicaNewton[i][j] = 1;
  34.                 }
  35.                 if (i == j) {
  36.                     tablicaNewton[i][j] = 1;
  37.                 }
  38.             }
  39.         }
  40.  
  41.         //Suma dwoch odpowiednich poprzednich wyrazow pozwala obliczyc nam symbol newtona
  42.         for (int i = 1; i < kWiersz; i++) //0,1,2,3
  43.         {
  44.             for (int j = i + 1; j < nKolumna; j++) { //0,1,2,3,4,5
  45.                 tablicaNewton[i][j] = tablicaNewton[i - 1][j - 1] + tablicaNewton[i][j - 1];
  46.             }
  47.         }
  48.  
  49.         for (int i = 0; i < kWiersz; i++) {
  50.             for (int j = 0; j < nKolumna; j++) {
  51.                 System.out.print(tablicaNewton[i][j] + " ");
  52.             }
  53.             System.out.println(" ");
  54.         }
  55.  
  56.         System.out.println("Wynik: " + n + " nad " + k + " wynosi: " + tablicaNewton[k][n]);
  57.  
  58.     }
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement