En liten notis om division med tal å sånt eller Något om X//Y diagonaler av Håkan Kjellerstrand, hakank@bonetmail.com Följande Perl program: #!perl $n=25; $format=length($n)+1; for ($i=1;$i<=$n;$i++) { printf "%${format}d", $i; } print "\n"; for ($i=1;$i<=$n;$i++) { for ($j=1;$j<=$n;$j++) { if ($j % $i == 0) { printf "%${format}d", $i; } else { printf "%${format}s", ""; } } print "\n"; } skapar följande bild: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 6 6 6 6 7 7 7 8 8 8 9 9 10 10 11 11 12 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Detta är alltså en matris som endast innehåller tal vars rest vid division blir 0. Redan för denna lilla mängd tal (1..25), kan man notera några saker, vissa troligtvis mycket självklara. 1. Första raden består av 1-or, andra består av 2-or på varannan plats, 3-or på var tredje plats osv. (Den allra första raden är endast rubriken.) Notera att detta också ett enkelt sätt att _skapa_ tabellen. 2 Diagonal, Definition: En diagonal definieras på följande sätt: utgå från ett tal X i första raden, ta sedan en etta i nästa rad (1-raden), under talet Y (X och Y är inte nödvändigt vissa olika). "Vinkeln" mellan dessa två tal utgör de två första talen i diagonalen (diagonalserien) som beskrivs som 'X//Y' (utläses 'X diagonal Y'). Fortsätter man i samma vinkel får man hela X//Y-serien. 3. Man kan notera att serien 1,2,3,4,5,6,7,8,9,10 (osv) förekommer på på flera olika diagonaler, t.ex. 0//1-diagonalen, 0//2-diagonalen osv. 4. Det är kanske mer intressant att man kan återfinna även alla lodräta serier (X/X-diagonaler), även på alla diagonaler, dvs diagonalerna X//(X-1), X//(X+1), X//(X-2), X//(X+2). Detta gäller så länge det andra talet är positivt T.ex. divisorserien för 12//12 (1,2,3,4,6,12) återfinns i 45 grader-diagonalen till höger och till vänster, dvs börja från 12, följ 1'an under 11 (och 13) och fortsätt i samma vinkel, dvs 12//11 respektive 12//13-diagonalerna. Kontrollera också 12//14- och 12//10-diagonalerna, samma serie (1,2,3,4,6,12) återfinns här. 5. Om man tar P//(P-1) resp P//(P+1) diagonalerna för alla primtal P så är dessa alltid tomma, vilket ju är precis som det ska: skulle något tal finnas i en primtalsdiagonal vore det ju inte primtal. Så nu vet vi varför primtalen är primtal: diagonalerna för dessa lyckas tal är alltid tomma, eller - om man så vill - inga tal lyckas komma in i dessa diagonaler. Jag påstår nu att alla divisorsserier för alla positiva heltal, N, och för alla N/Y-diagonaler (Y ett positivt heltal). 0/*-serierna är ett intressant undantag från detta, men förklaringen till undantaget är tämligen enkelt att förstå. En annan lustighet: Följer man P//(P-1)-diagonalen för primtalen och fortsätter tills man når "gränsen" för talen, dvs där 0//1-serien "bryter", kommer man mitt emellan två tal vars summa bildar detta primtal. Följer man ett sammansatt tal på detta sätt, kommer man (naturligtvis) till detta tal själv. Notera att jag här inte alls har kommenterat något om själva serierna, dvs hur dessa är beskaffade, endast försöker påvisa hur de "hänger ihop". Däremot kan jag kanske få hänvisa till en matematisk notis över närbesläktade serier, 'modulusserier', dvs den serie (sekvens) som uppstår när man tar N modulus 1..N för ett givet postitivt heltal N. (En liten försmak presenteras nedan.) Inte heller kommer jag att försöka bevisa något av detta. 'Det vackra kan vara vackert även om det inte är bevisat.' ############################################################################# En kort introduktion av Modulus-sekvenser Modulus sekvenser skapas av i % j, t.ex. följande program: #!perl $n=25; $format=length($n)+1; for ($i=1;$i<=$n;$i++) { printf "%${format}d", $i; } print "\n"; for ($i=1;$i<=$n;$i++) { for ($j=1;$j<=$n;$j++) { printf "%${format}d", $j % $i; } print "\n"; } Några korta kommentarer vilket visar vissa samband med X//Y-diagonaltabellen: Modulustabellen kan skapas med raderna 000000000 101010101 120120120 123012301 osv jämför med X//Y-tabellens 111111111111 202020202020 300300300300 400040004000 Jag definierar X%%y som den diagonal som bildas på motsvarande sätt som X//Y-diagonalen. Naturligtvis finns alla modulus-serier för alla diagonaler (påstår jag i alla fall). Titta t.ex på 7%%7-serien, dvs serien (1,1,3,2,1,0), som återfinns i 7%%8, 7%%6, 7%%9 osv. Kopplingen mellan modulus-serier och divisorserierna är att '0' i en modulus-serie ger ett tal i en divisorsserier, och omvänt en tom plats i divisorsserie ger ett tal <> 0 i modulus-serien. Se min förra notis (Om modulusserier) för mer detaljerad beskrivning av intrikata samband i dessa serier som skapas. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 1 2 3 4 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 5 0 1 2 3 4 5 0 1 2 3 4 5 0 1 2 3 4 5 0 1 1 2 3 4 5 6 0 1 2 3 4 5 6 0 1 2 3 4 5 6 0 1 2 3 4 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 0 1 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 13 0 1 2 3 4 5 6 7 8 9 10 11 1 2 3 4 5 6 7 8 9 10 11 12 13 14 0 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 0 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 0 1 2 3 4 5 6 7 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 0 1 2 3 4 5 6 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 0 1 2 3 4 5 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 1 2 3 4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 0 1 2 3 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 1 2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 0 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 0