progtest/exercise-04-multiplication-table
2025-10-13 11:46:39 +02:00
..
2025-10-13 11:45:53 +02:00
2025-10-13 11:46:39 +02:00
2025-10-13 11:18:24 +02:00

Úkolem je realizovat program, který zobrazí tabulku pro násobilku.

Vstupem programu je celé číslo - mez n.

Výstupem programu je tabulka násobilky v rozsahu 1x1 až n x n. Tabulka je zobrazena bez duplicitních hodnot, tedy v trojúhelníkové podobě. Všechny sloupce mají stejnou šířku, šířka je dána počtem číslic v největším součinu v tabulce, zvětšeným o 1. Za posledním číslem na řádce následuje odřádkování, tedy na koncích řádky nejsou žádné bílé znaky navíc.

Pokud je vstup neplatný, program to musí detekovat a zobrazit chybové hlášení. Chybové hlášení zobrazujte na standardní výstup (ne na chybový výstup). Za chybu považujte:

  • na vstupu není platné celé číslo,
  • číslo na vstupu je záporné nebo nulové.

Ukázka práce programu:

Rozsah:
10
   |  10   9   8   7   6   5   4   3   2   1
---+----------------------------------------
  1|  10   9   8   7   6   5   4   3   2   1
  2|  20  18  16  14  12  10   8   6   4
  3|  30  27  24  21  18  15  12   9
  4|  40  36  32  28  24  20  16
  5|  50  45  40  35  30  25
  6|  60  54  48  42  36
  7|  70  63  56  49
  8|  80  72  64
  9|  90  81
 10| 100

Rozsah:
8
  |  8  7  6  5  4  3  2  1
--+------------------------
 1|  8  7  6  5  4  3  2  1
 2| 16 14 12 10  8  6  4
 3| 24 21 18 15 12  9
 4| 32 28 24 20 16
 5| 40 35 30 25
 6| 48 42 36
 7| 56 49
 8| 64

Rozsah:
32
    |   32   31   30   29   28   27   26   25   24   23   22   21   20   19   18   17   16   15   14   13   12   11   10    9    8    7    6    5    4    3    2    1
----+----------------------------------------------------------------------------------------------------------------------------------------------------------------
   1|   32   31   30   29   28   27   26   25   24   23   22   21   20   19   18   17   16   15   14   13   12   11   10    9    8    7    6    5    4    3    2    1
   2|   64   62   60   58   56   54   52   50   48   46   44   42   40   38   36   34   32   30   28   26   24   22   20   18   16   14   12   10    8    6    4
   3|   96   93   90   87   84   81   78   75   72   69   66   63   60   57   54   51   48   45   42   39   36   33   30   27   24   21   18   15   12    9
   4|  128  124  120  116  112  108  104  100   96   92   88   84   80   76   72   68   64   60   56   52   48   44   40   36   32   28   24   20   16
   5|  160  155  150  145  140  135  130  125  120  115  110  105  100   95   90   85   80   75   70   65   60   55   50   45   40   35   30   25
   6|  192  186  180  174  168  162  156  150  144  138  132  126  120  114  108  102   96   90   84   78   72   66   60   54   48   42   36
   7|  224  217  210  203  196  189  182  175  168  161  154  147  140  133  126  119  112  105   98   91   84   77   70   63   56   49
   8|  256  248  240  232  224  216  208  200  192  184  176  168  160  152  144  136  128  120  112  104   96   88   80   72   64
   9|  288  279  270  261  252  243  234  225  216  207  198  189  180  171  162  153  144  135  126  117  108   99   90   81
  10|  320  310  300  290  280  270  260  250  240  230  220  210  200  190  180  170  160  150  140  130  120  110  100
  11|  352  341  330  319  308  297  286  275  264  253  242  231  220  209  198  187  176  165  154  143  132  121
  12|  384  372  360  348  336  324  312  300  288  276  264  252  240  228  216  204  192  180  168  156  144
  13|  416  403  390  377  364  351  338  325  312  299  286  273  260  247  234  221  208  195  182  169
  14|  448  434  420  406  392  378  364  350  336  322  308  294  280  266  252  238  224  210  196
  15|  480  465  450  435  420  405  390  375  360  345  330  315  300  285  270  255  240  225
  16|  512  496  480  464  448  432  416  400  384  368  352  336  320  304  288  272  256
  17|  544  527  510  493  476  459  442  425  408  391  374  357  340  323  306  289
  18|  576  558  540  522  504  486  468  450  432  414  396  378  360  342  324
  19|  608  589  570  551  532  513  494  475  456  437  418  399  380  361
  20|  640  620  600  580  560  540  520  500  480  460  440  420  400
  21|  672  651  630  609  588  567  546  525  504  483  462  441
  22|  704  682  660  638  616  594  572  550  528  506  484
  23|  736  713  690  667  644  621  598  575  552  529
  24|  768  744  720  696  672  648  624  600  576
  25|  800  775  750  725  700  675  650  625
  26|  832  806  780  754  728  702  676
  27|  864  837  810  783  756  729
  28|  896  868  840  812  784
  29|  928  899  870  841
  30|  960  930  900
  31|  992  961
  32| 1024

Rozsah:
asdf
Nespravny vstup.

Poznámky:

  • Ukázkové běhy zachycují očekávané výpisy Vašeho programu (tučné písmo) a vstupy zadané uživatelem (základní písmo). Zvýraznění tučným písmem je použité pouze zde na stránce zadání, aby byl výpis lépe čitelný. Váš program má za úkol zobrazit text bez zvýrazňování (bez HTML markupu).
  • Znak odřádkování (\n) je i za poslední řádkou výstupu (i za případným chybovým hlášením).
  • Při programování si dejte pozor na přesnou podobu výpisů. Výstup Vašeho programu kontroluje stroj, který požaduje přesnou shodu výstupů Vašeho programu s výstupy referenčními. Za chybu je považováno, pokud se výpis liší. I chybějící nebo přebývající mezera/odřádkování je považováno za chybu. Abyste tyto problémy rychle vyloučili, použijte přiložený archiv se sadou vstupních a očekávaných výstupních dat. Podívejte se na videotutoriál (Courses -> Video tutoriály), jak testovací data použít a jak testování zautomatizovat.
  • Výstup programu může být velmi široký/dlouhý, vyplatí se výstup přesměrovat do souboru a ten si prohlížet v nějakém editoru.