Advertisement
vakho

Modelirebius N1

Dec 17th, 2013
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.10 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4.  
  5. int ArrayRand[] = { 1, 57, 78, 89, 100, 123, 167, 188, 231, 242 };
  6. float ArrayRand2[10] = {0.};
  7.  
  8. int MULT = 211;
  9. int C = 0;
  10. int MODLUS = 253; // 2^8 - 3
  11. float wkg_Multiplikaciur(int zi_1)
  12. {
  13.     __int64 zi, k;
  14.    
  15.     zi = zi_1;
  16.     k = (zi * MULT) >> 8;
  17.     zi = (zi * MULT) % MODLUS;
  18.     printf("z[i] = %d\n", zi);
  19.     zi += k;
  20.  
  21.     if (zi >= MODLUS)
  22.         zi -= MODLUS;
  23.     printf("z[i] = %d\n", zi);
  24.     return zi/(float)MODLUS;
  25. }
  26.  
  27. float simulaciuriGayofa(int z, int b, int q)
  28. {
  29.     int zi, k, m;
  30.     m = (1 << b) - q;
  31.     zi = z;
  32.  
  33.     k = zi >> b;
  34.     zi = zi & ((1 << b) - 1);
  35.  
  36.     zi += k * q;
  37.     if (zi >= m)
  38.         zi -= m;
  39.  
  40.     return zi / (float)m;
  41. }
  42.  
  43. int a(4), b(14);
  44. float tanabradGanawilebuli(float r)
  45. {
  46.     return r*(b-a)+a;
  47. }
  48.  
  49. int main()
  50. {
  51.     for (int i = 0; i < 10; i++)
  52.     {
  53.         printf("[%d] = %d\t\t", i, ArrayRand[i]);
  54.         ArrayRand2[i] = wkg_Multiplikaciur(ArrayRand[i]);
  55.         printf("\t[%d] = %f\n", i, ArrayRand2[i]);
  56.     }
  57.     printf("\n");
  58.     for (int i = 0; i < 10; i++)
  59.         printf("[%d] = %f\n", i, tanabradGanawilebuli(ArrayRand2[i]));
  60.  
  61.     system("PAUSE");
  62.     return 0;
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement