lunedì 13 novembre 2017

Matematica e gioco

Due giochi matematici in Excel

la morra cinese

il tris (filetto)


domenica 29 ottobre 2017

Analisi statistiche Lotto

Analisi statistiche I-II-III-IV-V estratto gioco del lotto, ruota di Napoli dal 2001 al 2017.
Fonte: open data di lottomatica.it



venerdì 27 ottobre 2017

Magnitudine dei terremoti in italia

Analisi statistica delle frequenze dei terremoti in Italia 2016/2017

La curva a campana con evidente grado di asimmetria appare simile anche per query di altri periodi e di altre aree



mercoledì 18 ottobre 2017

Fattorizzazione a completamento per numeri RSA

n = pq

(10^k-u)(10^k-v)=n

10^(2k)-10^k(u+v)+uv=n

uv=n-10^(2k)+10^(k) (u+v)

 Per stabilire k osservo   k deve essere il più piccolo intero tale che n-10^(2k) < 0

10^k-u > 0
10^k-v > 0

ovvero u+v < 2*10^k

S  = u+v
N = uv

Z^2-SZ+N=0

e si pone il delta > 0

Z=u,v
avendo u, v, k  ottengo  la fattorizzazione come

p = 10^k - u
q = 10^k -  v


Ecco il codice in C++

#include 
#include 
#include 

using namespace std;

int main(int argc, char *argv[])
{
    long double n;
    long double k;
    long double s;
    long double u, v;
    long int p, q;
    cout << "inserisci un numero intero ";
    cin >> n;
    k = floor(log10(n)/2)+1; //in certi compliatori meglio k =int(log10(n)/2)-1;
    s  = 2*pow(10,k)-1;
    u = (s+sqrt(s*s-4*(n-pow(10,2*k)+s*pow(10,k))))/2;
    while (u != floor(u)){
          s = s-1;
           u = (s+sqrt(s*s-4*(n-pow(10,2*k)+s*pow(10,k))))/2;
          }
    v = (s-sqrt(s*s-4*(n-pow(10,2*k)+s*pow(10,k))))/2;
    p = pow(10,k)-u;
    q = pow(10,k)-v;
    cout << p << "\n";
    cout << q << "\n";
    
    system("PAUSE");
    return EXIT_SUCCESS;
}