שלום אני מעוניין לעשות משחק קלפים לצורך אישי כמו הדאבל רק עם 9 אלמנטים בכל קלפ ולא 8
מצורף הנוסחה לחישוב עבור 8 מישהו יכול להריץ לי את זה בשביל לקבל תוצאה עבור 9?
// N*N first cards
for I = 0 to N-1
for J = 0 to N-1
for K = 0 to N-1
print ((I*K + J) modulus N)*N + K
end for
print N*N + I
new line
end for
end for
// N following cards
for I = 0 to N-1
for J = 0 to N-1
print J*N + I
end for
print N*N + N
new line
end for
// Last card
for I = 0 to N-1
print N*N + I
end for
new line
Card1= 1 2 3 4 5 6 7 8
Card2= 1 9 10 11 12 13 14 15
Card3= 1 16 17 18 19 20 21 22
Card4= 1 23 24 25 26 27 28 29
Card5= 1 30 31 32 33 34 35 36
Card6= 1 37 38 39 40 41 42 43
Card7= 1 44 45 46 47 48 49 50
Card8= 1 51 52 53 54 55 56 57
Card9= 2 9 16 23 30 37 44 51
Card10= 2 10 17 24 31 38 45 52
Card11= 2 11 18 25 32 39 46 53
Card12= 2 12 19 26 33 40 47 54
Card13= 2 13 20 27 34 41 48 55
Card14= 2 14 21 28 35 42 49 56
Card15= 2 15 22 29 36 43 50 57
Card16= 3 9 17 25 33 41 49 57
Card17= 3 10 18 26 34 42 50 51
Card18= 3 11 19 27 35 43 44 52
Card19= 3 12 20 28 36 37 45 53
Card20= 3 13 21 29 30 38 46 54
Card21= 3 14 22 23 31 39 47 55
Card22= 3 15 16 24 32 40 48 56
Card23= 4 9 18 27 36 38 47 56
Card24= 4 10 19 28 30 39 48 57
Card25= 4 11 20 29 31 40 49 51
Card26= 4 12 21 23 32 41 50 52
Card27= 4 13 22 24 33 42 44 53
Card28= 4 14 16 25 34 43 45 54
Card29= 4 15 17 26 35 37 46 55
Card30= 5 9 19 29 32 42 45 55
Card31= 5 10 20 23 33 43 46 56
Card32= 5 11 21 24 34 37 47 57
Card33= 5 12 22 25 35 38 48 51
Card34= 5 13 16 26 36 39 49 52
Card35= 5 14 17 27 30 40 50 53
Card36= 5 15 18 28 31 41 44 54
Card37= 6 9 20 24 35 39 50 54
Card38= 6 10 21 25 36 40 44 55
Card39= 6 11 22 26 30 41 45 56
Card40= 6 12 16 27 31 42 46 57
Card41= 6 13 17 28 32 43 47 51
Card42= 6 14 18 29 33 37 48 52
Card43= 6 15 19 23 34 38 49 53
Card44= 7 9 21 26 31 43 48 53
Card45= 7 10 22 27 32 37 49 54
Card46= 7 11 16 28 33 38 50 55
Card47= 7 12 17 29 34 39 44 56
Card48= 7 13 18 23 35 40 45 57
Card49= 7 14 19 24 36 41 46 51
Card50= 7 15 20 25 30 42 47 52
Card51= 8 9 22 28 34 40 46 52
Card52= 8 10 16 29 35 41 47 53
Card53= 8 11 17 23 36 42 48 54
Card54= 8 12 18 24 30 43 49 55
Card55= 8 13 19 25 31 37 50 56
Card56= 8 14 20 26 32 38 44 57
Card57= 8 15 21 27 33 39 45 51
#include <stdio.h>
#include <stdlib.h>
#define PRINT(x) printf("%2d ", (x)+1)
main() {
int i, j, k, r = 0, n = 7;
// first card
printf ("Card %2d: ", ++r);
for (i = 0; i <= n; i++) {
PRINT (i);
}
printf ("\n");
// n following cards
for (j = 0; j < n; j++) {
printf ("Card %2d: ", ++r);
PRINT (0);
for (k = 0; k < n; k++) {
PRINT (n+1 + n*j + k);
}
printf ("\n");
}
// n*n following cards
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
printf ("Card %2d: ", ++r);
PRINT (i+1);
for (k = 0; k < n; k++) {
PRINT (n+1 + n*k + (i*k+j)%n); // Good for n = prime number
}
printf ("\n");
}
}
}
מצורף הנוסחה לחישוב עבור 8 מישהו יכול להריץ לי את זה בשביל לקבל תוצאה עבור 9?
// N*N first cards
for I = 0 to N-1
for J = 0 to N-1
for K = 0 to N-1
print ((I*K + J) modulus N)*N + K
end for
print N*N + I
new line
end for
end for
// N following cards
for I = 0 to N-1
for J = 0 to N-1
print J*N + I
end for
print N*N + N
new line
end for
// Last card
for I = 0 to N-1
print N*N + I
end for
new line
Card1= 1 2 3 4 5 6 7 8
Card2= 1 9 10 11 12 13 14 15
Card3= 1 16 17 18 19 20 21 22
Card4= 1 23 24 25 26 27 28 29
Card5= 1 30 31 32 33 34 35 36
Card6= 1 37 38 39 40 41 42 43
Card7= 1 44 45 46 47 48 49 50
Card8= 1 51 52 53 54 55 56 57
Card9= 2 9 16 23 30 37 44 51
Card10= 2 10 17 24 31 38 45 52
Card11= 2 11 18 25 32 39 46 53
Card12= 2 12 19 26 33 40 47 54
Card13= 2 13 20 27 34 41 48 55
Card14= 2 14 21 28 35 42 49 56
Card15= 2 15 22 29 36 43 50 57
Card16= 3 9 17 25 33 41 49 57
Card17= 3 10 18 26 34 42 50 51
Card18= 3 11 19 27 35 43 44 52
Card19= 3 12 20 28 36 37 45 53
Card20= 3 13 21 29 30 38 46 54
Card21= 3 14 22 23 31 39 47 55
Card22= 3 15 16 24 32 40 48 56
Card23= 4 9 18 27 36 38 47 56
Card24= 4 10 19 28 30 39 48 57
Card25= 4 11 20 29 31 40 49 51
Card26= 4 12 21 23 32 41 50 52
Card27= 4 13 22 24 33 42 44 53
Card28= 4 14 16 25 34 43 45 54
Card29= 4 15 17 26 35 37 46 55
Card30= 5 9 19 29 32 42 45 55
Card31= 5 10 20 23 33 43 46 56
Card32= 5 11 21 24 34 37 47 57
Card33= 5 12 22 25 35 38 48 51
Card34= 5 13 16 26 36 39 49 52
Card35= 5 14 17 27 30 40 50 53
Card36= 5 15 18 28 31 41 44 54
Card37= 6 9 20 24 35 39 50 54
Card38= 6 10 21 25 36 40 44 55
Card39= 6 11 22 26 30 41 45 56
Card40= 6 12 16 27 31 42 46 57
Card41= 6 13 17 28 32 43 47 51
Card42= 6 14 18 29 33 37 48 52
Card43= 6 15 19 23 34 38 49 53
Card44= 7 9 21 26 31 43 48 53
Card45= 7 10 22 27 32 37 49 54
Card46= 7 11 16 28 33 38 50 55
Card47= 7 12 17 29 34 39 44 56
Card48= 7 13 18 23 35 40 45 57
Card49= 7 14 19 24 36 41 46 51
Card50= 7 15 20 25 30 42 47 52
Card51= 8 9 22 28 34 40 46 52
Card52= 8 10 16 29 35 41 47 53
Card53= 8 11 17 23 36 42 48 54
Card54= 8 12 18 24 30 43 49 55
Card55= 8 13 19 25 31 37 50 56
Card56= 8 14 20 26 32 38 44 57
Card57= 8 15 21 27 33 39 45 51
#include <stdio.h>
#include <stdlib.h>
#define PRINT(x) printf("%2d ", (x)+1)
main() {
int i, j, k, r = 0, n = 7;
// first card
printf ("Card %2d: ", ++r);
for (i = 0; i <= n; i++) {
PRINT (i);
}
printf ("\n");
// n following cards
for (j = 0; j < n; j++) {
printf ("Card %2d: ", ++r);
PRINT (0);
for (k = 0; k < n; k++) {
PRINT (n+1 + n*j + k);
}
printf ("\n");
}
// n*n following cards
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
printf ("Card %2d: ", ++r);
PRINT (i+1);
for (k = 0; k < n; k++) {
PRINT (n+1 + n*k + (i*k+j)%n); // Good for n = prime number
}
printf ("\n");
}
}
}