Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 1
Регистрация: 23.01.2013
Сообщений: 41

Java2 может ли целое число быть представлено каким-либо произведением цифр, входящих в это число

24.01.2013, 01:05. Показов 1430. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Разбираю задачу..... Есть код, но некоторые моменты мне не понятны......
Определить функцию для проверки может ли целое число быть представлено каким-либо произведением цифр, входящих в это число. Напечатать такие числа от 100 до 1000. (Например, 135=3*3*3*5).
Метод решения задачи:
Для начала нам надо разобрать данное нам число на цифры. Для этого воспользуемся приведением типов – преобразуем число в строку, разберем на массив символов и преобразуем обратно в массив цифр типа int. После чего отсортируем массив методом пузырьковой сортировки от меньшего к большему, и, методом перебора (отсеяв значения 1 и 0 с помощью условных операторов), будем делить данное число на входящие в него цифры. Если при делении дойдем до ситуации, когда остаток от деления будет равным 0 и число будет равно 1 – число входит в массив чисел, удовлетворяющих условию задачи.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class test6{
    public static void main(String[]arg){
        int tmp,L;
        for (int i=100;i<1000;i++){
            L=i;
            String number;
            number=String.valueOf(i);
            int[]num=new int[3];
            char[]ch=new char[3];
            number.getChars(0,3,ch,0);
            for (int k=0;k<num.length;k++){
                [COLOR="Red"]num[k]=ch[k]-48;[/COLOR]
            }
            for (int k=0;k<num.length-1;k++){if (num[k]>num[k+1]){tmp=num[k];num[k+1]=num[k];num[k]=tmp;}}
            for (int k=0;k<num.length;k++){if (num[k]>1){
                tmp=L%num[k];
                if (tmp==0){while (tmp==0){L=L/num[k];tmp=L%num[k];}}}}
            if (L==1) System.out.println(i);
}
}
}
num[k]=ch[k]-48;-вообще не понимаю, для чего нужна эта строчка, почему отнимаем 48? Очень прошу, объясните пожалуйста))) И если можно комментарии напишите к программе... Буду очень благодарна=)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.01.2013, 01:05
Ответы с готовыми решениями:

Реализуйте:может ли заданное целое число быть представлено в виде суммы квадратов двух целых
/*Реализуйте метод, проверяющий, может ли заданное целое число быть представлено в виде суммы квадратов двух целых чисел.*/ Пока...

Найти максимальное число которое может быть представлено как сумма степеней 2, 3 и 4 простых чисел
Найти максимальное число, меньшее заданного, которое может быть представлено как сумма степеней 2, 3 и 4 простых чисел (минимальное такое...

Найти минимально натуральное число, которое не может быть представлено суммой ни каких заданных чисел
Помогите дан массив натуральный чисел. Найти минимально натуральное число которое не может быть представлено суммой ни каких з данных чисел...

2
 Аватар для lowercase
213 / 202 / 85
Регистрация: 09.05.2012
Сообщений: 494
24.01.2013, 01:32
48 это код символа '0'. так как цифри 0-9 в таблице кодов расположены почереди одина за другой, то есть их коды равны соответсвенно 48(цифра 0)...57(цифра 9),
таким образом чтобы получить цифру(тип int), имея символ(char) цифры нужно вычесть из кода этого символа код ноля.

а вообще я не монимаю. везде куда не глянь в java или с# число разбивают на цифры с помощью строк. зачем?
неужели операции преобразования числа в строку быстрее чем операции целочисельного деления и операции получения остатка от целочисельного деления?

Java
1
2
3
4
5
6
7
8
 
        int x = 65536;
 
        int[]num = new int[5];
        for(int i = 4; i >= 0; i--){
            num[i] = x % 10;
            x /= 10;
        }
1
0 / 0 / 1
Регистрация: 23.01.2013
Сообщений: 41
24.01.2013, 09:55  [ТС]
Теперь понятно...Спасибо большое! Я новичок в программировании, поэтому такой метод ввел меня в ступор.Там есть возможность сделать все через методы String, попытаюсь переделать)))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.01.2013, 09:55
Помогаю со студенческими работами здесь

Дано натуральное число n, которое может быть представлено суммой чисел 1, 2, 3, 5, 10, 15, 20 и 50. Требуется найти самое короткое представление n
По идеи, нужно разбить число n на сумму чисел и выбрать ту сумму, в которой меньше слагаемых. Но как сделать так, чтобы среди слагаемых...

Разработать программу, проверяющую, делится ли целое четырехзначное число N нацело на сумму цифр, составляющих это число
Очень нужна помощь,если кому не лень уделить пару минут на решение,огромная благодарность! Разработать программу, проверяющую,...

Определить, является ли заданное число произведением цифр какого либо числа
Во входном файле дано число N - произведение цифр какого либо числа. Надо написать программу, которая определяет, является ли данное число...

2. Дано натуральное число. Найти количество цифр данного числа. Результат в АХ. (Число может быть двухзначным, трехзначным и т.д.)
2. Дано натуральное число. Найти количество цифр данного числа. Результат в АХ. (Число может быть двухзначным, трехзначным и т.д.)

Каким может быть максимальное число строк и столбцов матрицы
Здрасти, функция int** CreateMatrix(int count_row,int count_col) создает двумерный дин. массив, в качестве параметров-количество строк и...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru