В этом кратком руководстве мы исследуемdifferent ways of getting the number of digits in an Integer на Java.
Операторы управления
Задача 3.16. Дано натуральное число . Определить количество цифр в числе.
Входные данные: — целое число.
Выходные данные: — количество цифр в числе.
Промежуточные данные: — переменная для временного хранения значения
6 При решении задачи (см. алгоритм на рис. 3.30) исходное число изменятся, поэтому, чтобы его, не потерять, копируем исходное число
в переменную
, и делить будем уже
.
C++ | Разложение числа на цифры
Для того, чтобы подсчитать количество цифр в числе, необходимо определить, сколько раз заданное число можно разделить на десять нацело. Например, пусть

1 | 12345 |
2 | 12345 / 10 = 1234 |
3 | 1234 / 10 = 123 |
4 | 123 / 10 = 12 |
5 | 12 / 10 = 1 |
1 / 10 = 0 |
Алгоритм определения количества цифр в числе представлен на рис. 3.30.
#include using namespace std; int main ( ) < unsigned long int N, M; unsigned int kol; cout>N; for (M=N, kol =1; M/10 >0; kol ++,M/=10); cout
Рис. 3.30. Алгоритм определения количества цифр в числе.
19 Обход всех цифр числа с помощью while Python
Задача 3.17. Дано натуральное число .
Определить, содержит ли это число нули и в каких разрядах они расположены (например, число 11011110111 содержит ноль в третьем и восьмом разрядах, а число 120405 — в первом и третьем).
Входные данные: — целое число.
Выходные данные: — позиция цифры в числе.
Промежуточные данные: — параметр цикла,
— переменная для временного хранения значения
.
В связи с тем, что разряды в числе выделяются начиная с последнего, для определения номера разряда в числе, необходимо знать количество цифр в числе7Алгоритм нахождения количества цифр в числе был рассмотрен в предыдущей задаче..Таким образом, на первом этапе решения задачи необходимо определить — количество цифр в числе. Затем нужно выделять из числа цифры, если очередная цифра равна нулю, вывести на экран номер разряда, который занимает эта цифра. Процесс определения текущей цифры числа
представлен в табл. 3.4.
1 | 120405 | 120405 % 10 = 5 | |
2 | 12040/10 = 1204 | 12040 % 10 = 0 | 1 |
3 | 1204/10 = 120 | 1204 % 10 = 4 | 2 |
4 | 120/10 = 12 | 120 % 10 = 0 | 3 |
5 | 12/10 = 1 | 12 % 10 = 2 | 4 |
6 | 1/10 = 0 | 1 % 10 = 1 | 5 |
Программный код к задаче 3.17.
#include using namespace std; int main ( ) < unsigned long int N,M; int kol, i; cout>N; for ( kol =1,M=N;M/10 >0; kol ++,M/=10); for (M=N, i =0; i
Задача 3.18. Дано натуральное число . Получить новое число, записав цифры числа
в обратном порядке. Например, 17852 — 25871.
Входные данные: — целое число.
Выходные данные: — целое число, полученное из цифр числа
, записанных в обратном порядке.
Промежуточные данные: — параметр цикла,
— переменная для временного хранения значения
— количество разрядов в заданном числе,
— старший разряд заданного числа.
Рассмотрим пример. Пусть , тогда
.
Значит, для решения поставленной задачи, нужно знать количество разрядов в заданном числе и его старший разряд
. Новое число
формируют как сумму произведений последней цифры заданного числа на старший разряд
. Цикл выполняют
раз, при каждой итерации уменьшая само число и старший разряд в десять раз.
#include using namespace std; int main ( ) < unsigned long int N,M, R, S; int kol, i; cout>N; for (R=1, kol =1,M=N;M/10 >0; kol ++,R* =10,M/=10); for ( S=0,M=N, i =1; i
Задача 3.19. Проверить, является ли заданное число палиндромом8Палиндром — это число, слово или фраза одинаково читающееся в обоих направлениях, или, другими словами, любой симметричный относительно своей середины набор символов. Например, числа 404, 1221 — палиндромы.
Входные данные: — целое число.
Выходные данные: сообщение.
Промежуточные данные: — параметр цикла,
— переменная для временного хранения значения
— количество разрядов в заданном числе,
— старший разряд заданного числа,
— целое число, полученное из цифр числа
, записанных в обратном порядке.
Можно предложить следующий алгоритм решения задачи. Записать цифры заданного числа в обратном порядке (задача 3.18), получится новое число
. Сравнить полученное число
с исходным
. Если числа равны, то заданное число является палиндромом.
Текст программы на языке С++:
<
div xmlns_edi=»http://www.intuit.ru/2010/edi» > #include using namespace std; int main ( ) < unsigned long int N,M,R, S; int kol, i; cout>N; for (R=1, kol =1,M=N;M/10 >0; kol++,R* =10,M/=10); for (S=0,M=N, i =1; i<=kol; S+=M%10*R,M/=10,R/=10, i++); if (N==S) cout
Источник: intuit.ru
Подсчитать количество цифр в строке. Паскаль. Пример кода
Общая идея подсчета числа цифр в строке в Паскаль состоит в следующем (сразу приведём здесь код программы):
var s:string; i,n:Integer; begin readln(s); n := 0; for i:=1 to Length(s) do begin // обходим строку в цикле if (s[i]>=’0′)and(s[i]<=’9′) then inc(n); end; writeln(‘This string contains ‘,n,’ digits.’); // выводим массив end.
— в этой программе для считывания значения мы использовали переменную строкового типа.
Паскаль даёт возможность обращения к конкретному символу строки по индексу как к элементу одномерного массива.
- Подсчитать количество цифр, входящих в строку — Pascal: http://www.cyberforum.ru/pascal/thread82.
Key Words for FKN + antitotal forum (CS VSU):
- Паскаль подсчитать количество цифр в строке
- Паскаль определить число символов в строке
Источник: fkn.ktu10.com