Advertisement
Guest User

Untitled

a guest
Jan 26th, 2015
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.83 KB | None | 0 0
  1. import java.lang.Math;
  2.  
  3. public class MyMath{
  4.    
  5.     public MyMath(){}
  6.  
  7.     public int sumaCyfr(int k){
  8.         int suma = 0;
  9.         while(k>0){
  10.             suma += k%10;
  11.             k/=10;
  12.         }
  13.         return suma;
  14.     }
  15.  
  16.     public int pierwszaZLewej(int k){
  17.         int cyfra = 0;
  18.         while(k>0){
  19.             cyfra = k%10;
  20.             k/=10;
  21.         }
  22.         return cyfra;
  23.     }
  24.  
  25.     public boolean czyWystepujeC(int k, int c){
  26.         while(k>0){
  27.             if(k%10 == c)return true;
  28.             k/=10;
  29.         }
  30.         return false;
  31.     }
  32.  
  33.     public int najwiekszaCyfra(int k){
  34.         int max = k%10;
  35.         k/=10;
  36.         while(k>0){
  37.             if(k%10>max)max = k%10;
  38.             k/=10;
  39.         }
  40.         return max;
  41.     }
  42.  
  43.     public int jakaCyfraWystepujeNajczesciej(int k){
  44.         int[] cyfry = new int[10];
  45.  
  46.         while(k>0){
  47.             cyfry[k%10]++;
  48.             k/=10;
  49.         }
  50.  
  51.         int max = cyfry[0];
  52.         int cyfra = 0;
  53.         for(int i=1; i< cyfry.length; i++){
  54.             if(cyfry[i]>max){
  55.                 max = cyfry[i];
  56.                 cyfra = i;
  57.             }
  58.         }
  59.  
  60.         return cyfra;
  61.     }
  62.  
  63.  
  64.     public boolean czyPierwsza(int k){
  65.         if(k==0 || k==1)return false;
  66.         int n = (int)Math.sqrt((double)k);
  67.         for(int i=2; i<n; i++){
  68.             if(k%i==0)return false;
  69.         }
  70.         return true;
  71.     }
  72.  
  73.     public int NWD1(int a, int b){
  74.         int c = 0;
  75.         while(b!=0){
  76.             c=a%b;
  77.             a=b;
  78.             b=c;
  79.         }
  80.         return a;
  81.     }
  82.  
  83.     public int NWD2(int a, int b){
  84.         while(a!=b){
  85.             if(a>b)a=a-b;
  86.             else b=b-a;
  87.         }
  88.         return a;
  89.     }
  90.  
  91.     public double wielomian(int stopien, double x, double[] a){
  92.         if(a.length - 1 != stopien)throw new RuntimeException("Zła liczba wspólczynników");
  93.         int i=0;
  94.         double y = a[i];
  95.         while(i<stopien){
  96.             i++;
  97.             y=y*x+a[i];
  98.         }
  99.         return y;
  100.     }
  101.  
  102.     public int pow(int x, int n){
  103.         int a;
  104.         if(n==0)return 1;
  105.         else if(n%2!=0)return x * pow(x, n-1);
  106.         else a = pow(x, n/2);
  107.  
  108.         return a*a;
  109.     }
  110.  
  111.     public double exp(double eps, double x){
  112.         double result = 1;
  113.         double licznik = 1;
  114.         int mianownik = 1;
  115.         int i = 1;
  116.         double d = 0;
  117.         do{
  118.             result += d;
  119.             licznik*=x;
  120.             mianownik*=i;
  121.             d=licznik/mianownik;
  122.             i++;
  123.         }while(d>eps);
  124.         System.out.println(i-1);
  125.         return result;
  126.     }
  127.  
  128.     public double sin(double eps, double x){
  129.         int i = 1, znak = 1;
  130.         double licznik = x;
  131.         double mianownik = 1;
  132.         double d = 0;
  133.         double result = licznik / mianownik;
  134.         do{
  135.             if(i%2==0) znak = 1;
  136.             else znak = -1;
  137.             licznik *= x*x;
  138.             mianownik *= 2*i*(2*i+1);
  139.             d=licznik/mianownik;
  140.             result += znak*d;
  141.             i++;
  142.         }while(d>eps);
  143.  
  144.         return result;
  145.     }
  146.  
  147.     public int ile(double eps, double x){
  148.         int i = 1;
  149.         double potega = 1;
  150.         double d = 1;
  151.         double result = 0;
  152.         do{
  153.             potega *= x;
  154.             d = i*potega;
  155.             i++;
  156.         }while(d>eps);
  157.         return i-1;
  158.     }
  159.  
  160.     public int ile2(double eps){
  161.         int k = 1;
  162.         double licznik = 1;
  163.         double mianownik = 1;
  164.         double d = licznik/mianownik;
  165.         do{
  166.             if(k%2==0)licznik = 1;
  167.             else licznik = -1;
  168.             mianownik *= k;
  169.             d = licznik/mianownik;
  170.             k++;
  171.         }while(Math.abs(d)>eps);
  172.        
  173.         return k-1;
  174.     }
  175.  
  176. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement