Технический форум

Технический форум (http://www.tehnari.ru/)
-   Форум программистов (http://www.tehnari.ru/f22/)
-   -   Прошу мне помочь с заданием на паскале! (http://www.tehnari.ru/f22/t35200/)

Celerit 16.04.2010 19:32

Прошу мне помочь с заданием на паскале!
 
Вобщем вот.

Дано натуральное число n. Запись числа в десятичной системе есть Ak Ak-1 Ak-2 ... A1 A2.
Сколько цифр в числе n?

решаться должно через repeat.

Заранее благодарю!

П.С. Запись Ak, Ak-1 и тд это каждая из цифр этого числа.

Vladimir_S 16.04.2010 21:00

Цитата:

Сообщение от Celerit (Сообщение 323981)
Вобщем вот.

Дано натуральное число n. Запись числа в десятичной системе есть Ak Ak-1 Ak-2 ... A1 A2.
Сколько цифр в числе n?
решаться должно через repeat.
Заранее благодарю!
П.С. Запись Ak, Ak-1 и тд это каждая из цифр этого числа.

Извините - ничего не понял. Достаточно было бы просто "Дано натуральное число n. Сколько цифр в числе n?" - и задача вполне себе решается. Простейший способ: если k - число цифр в числе n, то k=TRUNC(Lg(n)+1). При чем тут Ak, Ak-1 и прочее?
Короче говоря - сформулируйте задание четко: что дано, в каком виде (представлении), что нужно найти и т.п.
Отговорки типа "А мне так дали" не принимаются.

Зелёный 13.05.2010 14:16

если
через репит то:
n:integer;
out:integer;
begin
out:=0;
repeat
n:=round(n/10);
inc(out);
until n<1;
writeln(out)

AlexZir 13.05.2010 17:15

Зеленый, лучше использовать n:longint; :), так как у простого целого типа ограничения достаточно жесткие. Наутральные числа в бесконечность уходят и количество разрядов числа может быть достаточно большим. А еще лучше использовать экспоненциальный тип, такое число при проверке точно не придумают!


Часовой пояс GMT +4, время: 20:57.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.