static public void GenerateKeys(out long[] V, out double[] S, out long N) { int P, Q; SortedSet <long> Vi; do { ReshetoEratosfena(out P, out Q); N = P * Q; Vi = new SortedSet <long>(); long X = 1; do { X++; if (EuclidIsNOD1((long)Math.Pow(X, 2) % N, N)) { Vi.Add((long)Math.Pow(X, 2) % N); } }while (X < N); }while (Vi.Count == 1); if (Vi.Count > 10000) { var ArrTmp = Vi.ToArray(); Vi = new SortedSet <long>(); for (var i = 1; i < 10000; i++) { Vi.Add(ArrTmp[i]); } } var VArr = new List <long>(); var Vminus1 = new List <long>(); long Tmp; var Rnd = new Random(); var M = (P - 1) * (Q - 1); for (var i = 0; i < Vi.Count; i++) { var VTmp = Vi.ToArray()[i]; var Vminus1Tmp = FastPowFunc(VTmp, M - 1, N); if (long.TryParse(Convert.ToString(Math.Sqrt(Vminus1Tmp)), out Tmp)) { VArr.Add(VTmp); Vminus1.Add(Vminus1Tmp); } } S = new double[Vminus1.Count]; var j = 0; foreach (var Vm1 in Vminus1) { S[j] = Math.Sqrt(Vm1) % N; j++; } V = VArr.ToArray(); }
int TinhThuNhapTrongThang(ICollection <SO_GIAO_DICH> giaoDich, DateTime current, Vi viHienTai) { int count = 0; foreach (var gd in giaoDich) { if (gd.NGAY.Value.Month == current.Month && gd.Nhom.ID == 7 && gd.ID_VI == viHienTai.ID) { count += gd.SO_TIEN; } } return(count); }