Module: Schleifenanweisung mit der Bedingung - while


Problem

6/21

Zahlen Zahlen

Theory Click to read/hide

Versuchen wir, ein Programm zu schreiben, um mit folgenden zu behandeln:

Es besteht die Notwendigkeit, eine Zahl einzuführen (die weniger als 3.000 Tausend sein wird) und die Zahl der Zahlen zu bestimmen.

Die Idee einer Lösung


Holen wir die Nummern. Der Originalzähler ist 0. Wir müssen nur die letzte Zahl konsequent trennen (dies kann durch Reduktion der Zahl 10 mal, mit dem 10-stelligen Gesamt) und jedes Mal, wenn der Zähler um 1 erhöht werden muss.
Nachdem wir alle Zahlen geschnitten haben, bekommen wir die Nummern auf dem Zähler.
Alternativ kann der Algorithmus wie folgt gelesen werden:
Ich will das nicht tun. Ich werde es 10 machen und es so aussehen lassen.

Nummer (n)Steuerung
ANHANG0)
121
12
0)3
Das Programm wird wie folgt aussehen.
var n, count: integer;
begin
    read(n);
    count := 0;
    while n <> 0 do begin
        count += 1;
        n := n div 10;
    end;
    writeln('Number - ', n, ' contains ', count, ' digits');
end.
Das Programm muss informiert werden, da es auf vielen anderen Aufgaben im Zusammenhang mit der Nummerierung basiert.

Problem

Starten Sie das Programm.

Sieh dir ihre Leistung an.
Ist alles in Ordnung in der Wochenendstrafe?
Denken Sie daran, wie Sie diesen Fehler beheben können.