Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
- int ArrayRand[] = { 1, 57, 78, 89, 100, 123, 167, 188, 231, 242 };
- float ArrayRand2[10] = {0.};
- int MULT = 211;
- int C = 0;
- int MODLUS = 253; // 2^8 - 3
- float wkg_Multiplikaciur(int zi_1)
- {
- __int64 zi, k;
- zi = zi_1;
- k = (zi * MULT) >> 8;
- zi = (zi * MULT) % MODLUS;
- printf("z[i] = %d\n", zi);
- zi += k;
- if (zi >= MODLUS)
- zi -= MODLUS;
- printf("z[i] = %d\n", zi);
- return zi/(float)MODLUS;
- }
- float simulaciuriGayofa(int z, int b, int q)
- {
- int zi, k, m;
- m = (1 << b) - q;
- zi = z;
- k = zi >> b;
- zi = zi & ((1 << b) - 1);
- zi += k * q;
- if (zi >= m)
- zi -= m;
- return zi / (float)m;
- }
- int a(4), b(14);
- float tanabradGanawilebuli(float r)
- {
- return r*(b-a)+a;
- }
- int main()
- {
- for (int i = 0; i < 10; i++)
- {
- printf("[%d] = %d\t\t", i, ArrayRand[i]);
- ArrayRand2[i] = wkg_Multiplikaciur(ArrayRand[i]);
- printf("\t[%d] = %f\n", i, ArrayRand2[i]);
- }
- printf("\n");
- for (int i = 0; i < 10; i++)
- printf("[%d] = %f\n", i, tanabradGanawilebuli(ArrayRand2[i]));
- system("PAUSE");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement