( lacos | 2024. 11. 20., sze – 10:02 )

itt egy ellenpélda: legyen n=102, c=7

Igazad van:

     0   1   2   3   4   5   6
 0 000 015 030 045 060 075 090
 1 001 016 031 046 061 076 091
 2 002 017 032 047 062 077 092
 3 003 018 033 048 063 078 093
 4 004 019 034 049 064 079 094
 5 005 020 035 050 065 080 095
 6 006 021 036 051 066 081 096
 7 007 022 037 052 067 082 097
 8 008 023 038 053 068 083 098
 9 009 024 039 054 069 084 099
10 010 025 040 055 070 085 100
11 011 026 041 056 071 086 101
12 012 027 042 057 072 087   -
13 013 028 043 058 073 088   -
14 014 029 044 059 074 089   -

Nézzük akkor negatív maradékkal:

  1. Először (szokásos maradékos osztás): n=q*c+r; 0<=r<c adódik.

    Ha r=0, akkor készen vagyunk (teljes téglalapot kaptunk).
     
  2. Egyébként n = q*c + r + (c - c) = (q+1)*c + (r - c) = (q+1)*c - (c - r) = (q+1)*(c-1) + ((q+1) - (c - r))

    Ez a megfogalmazás azt fejezi ki, hogy a sorok számát eggyel megnöveljük ((q+1)-re), melynek hatására az utolsó oszlopban a (q+1) elemből (c-r) elem hiányozni fog.

    Ez a módszer jól működik a példádon (q=14, q+1=15, r=4; az utolsó oszlop 15 eleméből c-r=7-4=3 elem hiányzik).

Ugyanakkor általában véve ezzel a módszerrel is baj van. A 2. lépésnél az utolsó oszlopban (q+1) elem fér el, és ebből (c-r) hiányzik -- az a baj, hogy a megmaradó elemek száma akár negatív is lehet, így az egész oszlop eltűnik.

Például legyen n=22, c=7. Ekkor q=3, r=1 (n=q*c+r; 22=3*7+1). A 7*3-as kezdeti táblázatba nem fér be 22 elem, 1 kimarad. A 2. lépés szerint legyen q+1=4 sor. Ennek hatására a táblázatba 7*4=28 elem fér be. Nekünk viszont csak 22 elemünk van, így az utolsó oszlopból 6 elem hiányzik. Igen ám, de az oszlopok magassága 4 elem, tehát az egész utolsó oszlop eltűnik -- nem lett meg a 7 oszlopunk. Az a baj, hogy a ((q+1) - (c - r)) különbség nem pozitív itt: (3+1) - (7 - 1) = 4-6 = (-2).