С Новым годом! Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/351: Рейтинг темы: голосов - 351, средняя оценка - 4.94
2 / 2 / 2
Регистрация: 17.02.2011
Сообщений: 49

Определить количество цифр в заданном числе

17.08.2011, 06:37. Показов 68544. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! У меня вот такой вопрос, по заданию Натуральное положительное число записано в переменную n.
Определить и вывести на экран, сколько цифр в числе n.
В переменную записал число и вывел результат.
А теперь немогу понять как можно подсчитать сколько цифр в числе. как это можно подсчитать?
Java
1
2
3
4
5
6
public class MATH {
    public static void  main(String args[]){
       final double a = 33;
        System.out.println(a);
    }
}
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.08.2011, 06:37
Ответы с готовыми решениями:

Определить количество цифр в заданном числе
int main(int argc, char *argv) { int a,i; printf("vvedi chislo"); scanf("%d",&a); i=0; while(a>1) { a/=10; ...

Определить количество цифр в заданном числе
Вводится целое число (не более 4 разрядов). Определить количество цифр в нем.

Определить количество цифр в каждом заданном числе
Составить программу для решения задачи своего варианта с использованием методов-процедур и функций (самостоятельно продумать, какие...

16
81 / 81 / 8
Регистрация: 10.06.2011
Сообщений: 258
17.08.2011, 12:18
Java
1
System.out.println((a+"").length())
Но может ничего и не получится:
Java
1
2
3
4
double d = 0.2;
d-=0.1;
System.out.println((d+"").length());
System.out.println(d);
Если это только целые числа, то используй int
1
4 / 4 / 3
Регистрация: 30.04.2011
Сообщений: 50
17.08.2011, 13:30
Может быть через остаток от деления?

Java
1
2
if ((n % 10) == n) {System.out.println("1 цифра")} 
else {if ((n % 100) == n) {System.out.println("2 цифры")}}
1
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
17.08.2011, 13:34
Лучший ответ Сообщение было отмечено как решение

Решение

Цитата Сообщение от J10 Посмотреть сообщение
Может быть через остаток от деления?

Java
1
2
if ((n % 10) == n) {System.out.println("1 цифра")} 
else {if ((n % 100) == n) {System.out.println("2 цифры")}}
И сколько Вы напишете if-ов?

Вспоминаем математику 10 класса, логарифмы.

Java
1
2
int x = 33; 
int num = (int)Math.log10(x)+1;
4
Higher
 Аватар для diagon
1953 / 1219 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
19.08.2011, 17:26
Или так
Java
1
2
3
4
5
int n = 123456;
int countOfNumbers = 0;
for ( ; n != 0 ; n /= 10)
    ++countOfNumbers;
System.out.println(countOfNumbers);
0
0 / 0 / 0
Регистрация: 21.02.2011
Сообщений: 24
19.08.2011, 19:21
diagon, а зачем создавать цикл?
0
Higher
 Аватар для diagon
1953 / 1219 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
19.08.2011, 19:30
Цитата Сообщение от arkadattx Посмотреть сообщение
diagon, а зачем создавать цикл?
А чем он плох? Максимум 20 итераций, если число из 20 цифр парсить.
Считаю его наиболее простым и понятным.
0
0 / 0 / 0
Регистрация: 21.02.2011
Сообщений: 24
19.08.2011, 19:47
diagon, Skipy предложил без циклов и итераций: 3 математических действия не зависимо от количества цифр в числе, без создания лишних переменных. Мне такой подход представляется гораздо более выигрышным.
0
Higher
 Аватар для diagon
1953 / 1219 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
19.08.2011, 20:00
Цитата Сообщение от arkadattx Посмотреть сообщение
diagon, Skipy предложил без циклов и итераций: 3 математических действия не зависимо от количества цифр в числе, без создания лишних переменных. Мне такой подход представляется гораздо более выигрышным.
Выложил потому, что подобные циклы мне очень часто приходится использовать (перевод в другие системы счисления, перевод из строки в число и наоборот), т.е. такой подход более универсален и его полезно знать.
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
19.08.2011, 20:06
Цитата Сообщение от diagon Посмотреть сообщение
перевод из строки в число и наоборот
Для этого существуют методы в соответствующих классах, зачем это делать вручную?

Цитата Сообщение от diagon Посмотреть сообщение
такой подход более универсален и его полезно знать
Такой подход полезно знать только для знакомства с циклами и не более. Вы убиваете перфоманс такой "универсальностью"
0
19.08.2011, 20:19

Не по теме:

Цитата Сообщение от M128K145 Посмотреть сообщение
Для этого существуют методы в соответствующих классах, зачем это делать вручную?
Из строки в число погорячился слегка... В жабе, может, и не зачем, я цппшник просто(да, я слышал про boost::lexical_cast/etc).

Цитата Сообщение от M128K145 Посмотреть сообщение
Такой подход полезно знать только для знакомства с циклами и не более. Вы убиваете перфоманс такой "универсальностью"
Не спорю, с этой целью и привел код.

1
Объявлятель переменных
 Аватар для SpBerkut
1225 / 411 / 321
Регистрация: 24.09.2011
Сообщений: 1,279
24.09.2011, 12:08
Цитата Сообщение от Skipy
Java
1
2
x = 33; 
int num = (int)Math.log10(x)+1;
А если x = 99? :-)

С явой я не в ладах, а на дельфях использовал такую вот конструкцию:
Delphi
1
2
3
4
5
6
7
8
9
10
const 
  log_10 = 2.3025850929940456840179914546844;
 
function Lg(X: Real): Real;
begin
  Result := Ln(X)/log_10
end;
 
SetRoundMode(rmUp);  // Установка режима округления в большую сторону
Num := Round(Lg(X));
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
24.09.2011, 13:45
можно ещё и такой изврат в perl_one_line_program стиле )))
Java
1
System.out.println(String.valueOf(x).split("").length - 1);
только не говорите ничего за перформанс )))
1
24.09.2011, 16:11

Не по теме:

Цитата Сообщение от M128K145 Посмотреть сообщение
Вы убиваете перфоманс такой "универсальностью"
Цитата Сообщение от mutagen Посмотреть сообщение
только не говорите ничего за перформанс )))
А что в java-ветке подразумевается под перформансом?

0
24.09.2011, 16:32

Не по теме:

Цитата Сообщение от diagon Посмотреть сообщение
А что в java-ветке подразумевается под перформансом?
А что в переводе значит слово performance?

0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
24.09.2011, 16:40
Цитата Сообщение от diagon Посмотреть сообщение
А что в java-ветке подразумевается под перформансом?
Это у него такой с++ный троллинг )))
Но он ошибается, jit иногда уделывает бинарки по производительности
0
24.09.2011, 16:52

Не по теме:

Цитата Сообщение от M128K145 Посмотреть сообщение
А что в переводе значит слово performance?
Там около 30 значений... )


Цитата Сообщение от mutagen Посмотреть сообщение
Это у него такой с++ный троллинг )))
Не-а, действительно интересно.

Т.е.

Цитата Сообщение от mutagen Посмотреть сообщение
производительности
?
Хех. Ясно.


Цитата Сообщение от mutagen Посмотреть сообщение
Но он ошибается, jit иногда уделывает бинарки по производительности
Очень иногда... Но холиварить не буду, ибо не особо разбираюсь в этом.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.09.2011, 16:52
Помогаю со студенческими работами здесь

Определить количество цифр 3 в заданном натуральном числе
Дано натуральное число, определить а) количество цифр 3 в нем;

Определить количество цифр в заданном натуральном числе
Помогите"!!!! Дано натуральное число n.определить количество цифр в этом числе

Нужно определить количество одинаковых цифр в заданном числе
Задача: Дано целое пятизначное число х. Вывести на экран сообщение о том, сколько в данном числе одинаковых цифр и каково их значение.

Вывести на экран количество цифр в заданном числе и сумму этих цифр
я начинающий! помогите! мне на екзам! Дано натуральное число а (a<100). Напишите программу, выводящую на экран количество цифр в этом...

Вывести на экран сумму цифр и количество нечетных цифр в заданном числе
Пожалуйста помогите решить 3 задачи, буду примного благодарен! 1. Дано целое положительное число. Вывести на экран сумму цифр в этом...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru