123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591 |
- <!DOCTYPE html>
- <html lang="de">
- <head>
- <title>Floyd's Triangle - Floyd's Dreieck</title>
-
- <meta name="author" content="Marek K.">
- <meta name="web_author" content="Marek K.">
- <meta name="description" content="Das Floyd's Dreieck ist ein Dreieck aus Zahlen, von 1 bis X, und ist N Zeilen hoch. In Zeile Y sind Y Zahlen: In Zeile 1 ist 1 Zahl; In Zeile 2 sind 2 Zahlen">
- <meta name="robots" content="index, follow">
- <meta name="keywords" content="Floyd's Triangle, Floyd's Dreick, Floyd Dreieck, Floyd Triangle, Floyds Triangle, Floyds Dreieck, Dreieck, Floyd, Floyd's, Floyds">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
- <link rel="icon" type="image/vnd.microsoft.icon" href="/images/floystriangle.ico">
- <link rel="shortcut icon" type="image/vnd.microsoft.icon" href="/images/floystriangle.ico">
-
- <style>
- html, body {
- background-color: #e6ffff;
- }
-
- .mod {
- font-size: 12px;
- background-color: #adebad;
- }
-
- .mod:hover {
- background-color: #e6e6e6;
- }
-
- math {
- background-color: #5cd65c;
- padding: 1px;
- border-radius: 2px;
- }
-
- math:hover {
- background-color: #bfbfbf;
- }
-
- pre {
- background-color: #bfbfbf;
- display: inline-block;
- padding: 2px;
- border-radius: 4px;
- margin: 5px;
- }
-
- header, main, footer {
- border: 2px solid black;
- border-radius: 7px;
- margin-bottom: 6px;
- padding: 4px;
- background-color: white;
- }
-
- h1, footer * {
- margin: 0px;
- }
-
- div {
- border: 1px solid red;
- margin: 2px;
- margin-bottom: 4px;
- border-radius: 7px;
- padding: 3px;
- }
-
- div h2, div h3 {
- margin-top: 0px;
- }
-
- .yellowd {
- border: 1px solid #b3b300;
- }
-
- .blued {
- border: 1px solid blue;
- }
-
- code {
- background-color: #b3b3ff;
- display: inline-block;
- padding: 1px;
- border-radius: 3px;
- border: 1px solid blue;
- margin: 4px;
- margin-top: 0px;
- }
-
- code:hover {
- background-color: #ccccff;
- }
-
- #logo {
- height: 40px;
- margin-right: 20px;
- }
- </style>
- </head>
- <body>
- <header>
- <table>
- <tr>
- <td><img src="/images/floystriangle.ico" alt="" id="logo"></td>
- <td><h1>Floyd's Triangle</h1></td>
- </tr>
- <tr>
- <td></td>
- <td><a href="http://mk16.de/?page=Impressum" target="_blank">Impressum / Imprint</a></td>
- </tr>
- </table>
- </header>
- <main>
- <div class="yellowd">
- <h2>Erklärung</h2>
- <p>
- Das Floyd's Dreieck ist ein Dreieck aus Zahlen, von 1 bis X, und ist N Zeilen hoch.<br>
- In Zeile Y sind Y Zahlen: In Zeile 1 ist 1 Zahl; In Zeile 2 sind 2 Zahlen; In Zeile 3 sind 3 Zahlen ...
- </p>
- </div>
-
- <div>
- <h2>Beispiele</h2>
-
- <p>
- Ein Beispiel für ein Dreieck: Es gilt
- <math>
- <mi>N</mi>
- <mo>=</mo>
- <mn>1</mn>
- </math>
- :
- </p>
-
- <pre>
- 1
- </pre>
-
- <p>
- Ein Beispiel für ein Dreieck: Es gilt
- <math>
- <mi>N</mi>
- <mo>=</mo>
- <mn>2</mn>
- </math>
- :
- </p>
-
- <pre>
- 1
- 2 3
- </pre>
-
- <p>
- Ein Beispiel für ein Dreieck: Es gilt
- <math>
- <mi>N</mi>
- <mo>=</mo>
- <mn>3</mn>
- </math>
- :
- </p>
-
- <pre>
- 1
- 2 3
- 4 5 6
- </pre>
-
- <p>
- Ein Beispiel für ein Dreieck: Es gilt
- <math>
- <mi>N</mi>
- <mo>=</mo>
- <mn>4</mn>
- </math>
- :
- </p>
-
- <pre>
- 1
- 2 3
- 4 5 6
- 7 8 9 10
- </pre>
-
- <p>
- Ein Beispiel für ein Dreieck: Es gilt
- <math>
- <mi>N</mi>
- <mo>=</mo>
- <mn>5</mn>
- </math>
- :
- </p>
-
- <pre>
- 1
- 2 3
- 4 5 6
- 7 8 9 10
- 11 12 13 14 15
- </pre>
-
- <p>
- Ein Beispiel für ein Dreieck: Es gilt
- <math>
- <mi>N</mi>
- <mo>=</mo>
- <mn>6</mn>
- </math>
- :
- </p>
-
- <pre>
- 1
- 2 3
- 4 5 6
- 7 8 9 10
- 11 12 13 14 15
- 16 17 18 19 20 21
- </pre>
-
- </div>
-
- <div>
- <h2>Knobelaufgabe</h2>
- <p>
- Gib eine Formel an, mit der die letzte Zahl, damit die Anzahl der Zahlen, X, berechnet werden kann.<br>
- Gegeben ist nur N.
- </p>
-
- <div>
- <h3>Beispiel</h3>
- <p>Wenn
- <math>
- <mi>N</mi>
- <mo>=</mo>
- <mn>4</mn>
- </math>
- dann ist
- <math>
- <mi>X</mi>
- <mo>=</mo>
- <mn>10</mn>
- </math>
- .
- </p>
- </div>
-
- <div>
- <h3>Lösung</h3>
- <p>
- Das Dreieck ähnelt sehr einer Dreiecks Form.<br>
- Vielleicht lässt sich X wie der Flächeninhalt eines Dreiecks berechnen?!<br>
- <math>
- <mfrac>
- <mrow>
- <mi>N</mi>
- <mo>*</mo>
- <mi>N</mi>
- </mrow>
- <mrow>
- <mn>2</mn>
- </mrow>
- </mfrac>
- <mo>=</mo>
- <mi>X</mi>
- </math><br>
- <span class="mod">((N*N)/2=X)</span>
- </p>
- <p>Versuchen wir es:<br>
- <math>
- <mfrac>
- <mrow>
- <mn>4</mn>
- <mo>*</mo>
- <mn>4</mn>
- </mrow>
- <mrow>
- <mn>2</mn>
- </mrow>
- </mfrac>
- <mo>=</mo>
- <mn>8</mn>
- </math><br>
- <span class="mod">((4*4)/2)</span>
- </p>
- <p>Das geht nicht! Schade!<br><br>
- Aber <math>
- <mi>N</mi>
- <mo>*</mo>
- <mi>N</mi>
- <mo>=</mo>
- <msup>
- <mi>N</mi>
- <mn>2</mn>
- </msup>
- </math><span class="mod">(N*N=N^2)</span> ist ein guter Ansatz.<br>
- Also <math>
- <msup>
- <mi>N</mi>
- <mn>2</mn>
- </msup>
- </math><span class="mod">(N^2)</span> subtrakiert mit U(Unbekannt) ergibt X:<br>
- <math>
- <msup>
- <mi>N</mi>
- <mn>2</mn>
- </msup>
- <mo>-</mo>
- <mi>U</mi>
- <mo>=</mo>
- <mi>X</mi>
- </math><br>
- <span class="mod">(N^2-U=X)</span>
- </p>
- <p>
- Was ist U?<br>
- Bei <math><mi>N</mi><mo>=</mo><mn>1</mn></math> ist <math><mi>U</mi><mo>=</mo><mn>0</mn></math><br>
- Bei <math><mi>N</mi><mo>=</mo><mn>2</mn></math> ist <math><mi>U</mi><mo>=</mo><mn>1</mn></math><br>
- Bei <math><mi>N</mi><mo>=</mo><mn>3</mn></math> ist <math><mi>U</mi><mo>=</mo><mn>3</mn></math><br>
- Bei <math><mi>N</mi><mo>=</mo><mn>4</mn></math> ist <math><mi>U</mi><mo>=</mo><mn>6</mn></math><br>
- Bei <math><mi>N</mi><mo>=</mo><mn>5</mn></math> ist <math><mi>U</mi><mo>=</mo><mn>10</mn></math><br>
- Bei <math><mi>N</mi><mo>=</mo><mn>6</mn></math> ist <math><mi>U</mi><mo>=</mo><mn>15</mn></math><br>
- Es ist nur N gegeben, dass heizt aus N muss irgentwie 0, 1, 3, 6 usw. werden.<br>
- </p>
- <p>
- Mit welcher Zahl muss N multipliziert werden damit aus N, U wird?<br>
- Bei <math><mi>N</mi><mo>=</mo><mn>1</mn></math> ist <math><mi>U</mi><mo>=</mo><mi>N</mi><mo>*</mo><mn>0</mn><mo>=</mo><mn>0</mn></math><br>
- Bei <math><mi>N</mi><mo>=</mo><mn>2</mn></math> ist <math><mi>U</mi><mo>=</mo><mi>N</mi><mo>*</mo><mn>0.5</mn><mo>=</mo><mn>1</mn></math><br>
- Bei <math><mi>N</mi><mo>=</mo><mn>3</mn></math> ist <math><mi>U</mi><mo>=</mo><mi>N</mi><mo>*</mo><mn>1</mn><mo>=</mo><mn>3</mn></math><br>
- Bei <math><mi>N</mi><mo>=</mo><mn>4</mn></math> ist <math><mi>U</mi><mo>=</mo><mi>N</mi><mo>*</mo><mn>1.5</mn><mo>=</mo><mn>6</mn></math><br>
- Bei <math><mi>N</mi><mo>=</mo><mn>5</mn></math> ist <math><mi>U</mi><mo>=</mo><mi>N</mi><mo>*</mo><mn>2</mn><mo>=</mo><mn>10</mn></math><br>
- Bei <math><mi>N</mi><mo>=</mo><mn>6</mn></math> ist <math><mi>U</mi><mo>=</mo><mi>N</mi><mo>*</mo><mn>2.5</mn><mo>=</mo><mn>15</mn></math><br>
- Man sieht ein Muster 0, 0.5, 1, 1.5 usw. Die Zahlen werden immer um 0.5 Erhöht.<br>
- Die Formel für diese Reihenfolge ist:<br>
- <math>
- <mn>0.5</mn>
- <mo>*</mo>
- <mrow>
- <mo>(</mo>
- <mi>N</mi>
- <mo>-</mo>
- <mn>1</mn>
- <mo>)</mo>
- </mrow>
- <mo>=</mo>
- <mn>0.5</mn>
- <mo>*</mo>
- <mi>N</mi>
- <mo>-</mo>
- <mn>0.5</mn>
- </math>
- <br>
- <span class="mod">(0.5*(N-1)=0.5*N-0.5)</span>
- </p>
- <p>
- Das für U eingesetzt ergibt:<br>
- <math>
- <msup>
- <mi>N</mi>
- <mn>2</mn>
- </msup>
- <mo>-</mo>
- <mrow>
- <mo>(</mo>
- <mn>0.5</mn>
- <mo>*</mo>
- <mi>N</mi>
- <mo>-</mo>
- <mn>0.5</mn>
- <mo>)</mo>
- </mrow>
- <mo>=</mo>
- <mi>X</mi>
- </math><br>
- <span class="mod">(N^2-(0.5*N-0.5)=X)</span>
- <br>
- Das Verkürtzt:<br>
- <math>
- <mn>0.5</mn>
- <mo>*</mo>
- <msup>
- <mi>N</mi>
- <mn>2</mn>
- </msup>
- <mo>+</mo>
- <mn>0.5</mn>
- <mo>*</mo>
- <mi>N</mi>
- <mo>=</mo>
- <mi>X</mi>
- </math><br>
- <span class="mod">(0.5*N^2+0.5*N=X)</span><br>
- Dies kann man auch als Division dastellen, denn
- <math>
- <mn>0.5</mn>
- <mo>*</mo>
- <mi>X</mi>
- <mo>=</mo>
- <mfrac>
- <mi>X</mi>
- <mn>2</mn>
- </mfrac>
- </math>
- <span class="mod">(0.5*X=X/2)</span>
- :<br>
- <math>
- <mfrac>
- <mrow>
- <msup>
- <mi>N</mi>
- <mn>2</mn>
- </msup>
- </mrow>
- <mrow>
- <mn>2</mn>
- </mrow>
- </mfrac>
- <mo>+</mo>
- <mfrac>
- <mrow>
- <mi>N</mi>
- </mrow>
- <mrow>
- <mn>2</mn>
- </mrow>
- </mfrac>
- <mo>=</mo>
- <mi>X</mi>
- </math><br>
- <span class="mod">(N^2/2+N/2=X)</span>
- </p>
- <p>
- Damit wäre die Lösung:<br>
- <math>
- <mfrac>
- <mrow>
- <msup>
- <mi>N</mi>
- <mn>2</mn>
- </msup>
- </mrow>
- <mrow>
- <mn>2</mn>
- </mrow>
- </mfrac>
- <mo>+</mo>
- <mfrac>
- <mrow>
- <mi>N</mi>
- </mrow>
- <mrow>
- <mn>2</mn>
- </mrow>
- </mfrac>
- <mo>=</mo>
- <mi>X</mi>
- </math><br>
- <span class="mod">(N^2/2+N/2=X)</span>
- </p>
- </div>
- </div>
-
- <div class="blued">
- <h2>Implementierung in C</h2>
-
- <p><a href="/scriptFiles/floydtri_c.c" target="_blank">floydtri_c.c</a></p>
- <code>#include <stdio.h> /* printf, scanf */<br />
- <br />
- int main()<br />
- {<br />
- int n;<br />
- <br />
- printf("Please enter a number: ");<br />
- scanf("%d", &n);<br />
- printf("\nFloyd's triangle:\n");<br />
- <br />
- register int i, j, num;<br />
- <br />
- for(i = 1, num = 1; i <= n; i++)<br />
- {<br />
- for(j = 0; j < i; j++, num++)<br />
- printf("%d ", num);<br />
- <br />
- printf("\n");<br />
- }<br />
- <br />
- return 0;<br />
- }</code>
- </div>
-
- <div class="blued">
- <h2>Implementierung in C++</h2>
-
- <p><a href="/scriptFiles/floydtri_cpp.cpp" target="_blank">floydtri_cpp.cpp</a></p>
- <code>#include <iostream> /* std::cout, std::cin, std::endl */<br />
- <br />
- using std::cout;<br />
- using std::cin;<br />
- using std::endl;<br />
- <br />
- int main()<br />
- {<br />
- int n;<br />
- <br />
- cout << "Please enter a number: ";<br />
- cin >> n;<br />
- cout << endl << "Floyd's triangle:" << endl;<br />
- <br />
- int j;<br />
- <br />
- for(int i = 1, num = 1; i <= n; i++)<br />
- {<br />
- for(j = 0; j < i; j++, num++)<br />
- cout << num << " ";<br />
- <br />
- cout << endl;<br />
- }<br />
- return 0;<br />
- }</code>
- </div>
-
- <div class="blued">
- <h2>Implementierung in Java</h2>
-
- <p><a href="/scriptFiles/floydtri_java.java" target="_blank">floydtri_java.java</a></p>
- <code>package floytri_java;<br />
- <br />
- import java.util.Scanner;<br />
- <br />
- public class floytri_java {<br />
- <br />
- public static void main(String[] args) {<br />
- System.out.print("Please enter a number: ");<br />
- Scanner s = new Scanner(System.in);<br />
- int n = s.nextInt();<br />
- s.close();<br />
- <br />
- System.out.println("\nFloyd's triangle:");<br />
- <br />
- int j;<br />
- <br />
- for(int i = 1, num = 1; i <= n; i++)<br />
- {<br />
- for(j = 0; j < i; j++, num++)<br />
- System.out.print(num + " ");<br />
- <br />
- System.out.println("");<br />
- }<br />
- }<br />
- <br />
- }</code>
- </div>
-
- <div class="blued">
- <h2>Implementierung in Ruby</h2>
-
- <p><a href="/scriptFiles/floydtri_ruby.rb" target="_blank">floydtri_ruby.rb</a></p>
- <code>print "Please enter a number: "<br />
- n = gets.to_i<br />
- puts "\nFloyd's triangle:"<br />
- <br />
- num = 1<br />
- <br />
- for i in 1..n<br />
- for j in 0...i<br />
- print "#{num} "<br />
- num += 1<br />
- end<br />
- puts<br />
- end</code>
- </div>
- </main>
- <footer>
- <table>
- <tbody>
- <tr>
- <td><p>Web author/Author: Marek K.<p></td>
- <td><p><a href="http://mk16.de/?page=Impressum" target="_blank">Impressum / Imprint</a></p></td>
- </tr>
- <tr>
- <td><p><a href="https://jigsaw.w3.org/css-validator/check/referer" target="_blank"><img style="border:0;width:88px;height:31px" src="https://jigsaw.w3.org/css-validator/images/vcss" alt="CSS ist valide!"></a></p></td>
- <td></td>
- </tr>
- </tbody>
- </table>
- </footer>
- </body>
- </html>
|