IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Функция
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 5
Пол: Мужской

Репутация: -  0  +


Люди помогите пожайлуста решить эту задачу или хотябы объясните что делать с суммой К=1,2...Заранее всем спасибо
Описать функцию, которая возвращает сумму К=1,2,… наименьших цифр, входящих в запись числа типа Longint .
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 9)
сообщение
Сообщение #2


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


пусть дано число N = 14021233, K = 3

результат = 0 + 1 + 1 = 2 ?


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





Группа: Пользователи
Сообщений: 5
Пол: Мужской

Репутация: -  0  +


а почему к=3
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Профи
****

Группа: Пользователи
Сообщений: 705
Пол: Мужской

Репутация: -  20  +


Цитата(@SNAKE@ @ 12.11.2007 19:02) *

а почему к=3

Для примера smile.gif
А вообще, можно поступить так - перевести число в строку, отсортировать символы по возрастанию, сложить К первых символов, переведя каждое в число (ord(s[i])-$30).
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5





Группа: Пользователи
Сообщений: 5
Пол: Мужской

Репутация: -  0  +


а зачем переводить каждое в число (ord(s[i])-$30).
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Профи
****

Группа: Пользователи
Сообщений: 705
Пол: Мужской

Репутация: -  20  +


Чтоб сложить.. Я имел ввиду вот это:
N = 14021233, K = 3
переводим в строку: s:="14021233";
сортируем: s:="01122334";
складываем: 0+1+1. Но что бы из "0" получить 0 надо из кода символа вычесть $30 (код нуля как раз).

Но если не хочешь через строку можно и по-другому.. Например завести массив [0..9], разложить число на цифры и посчитать количество каждой цифры с помощью этого массива. Примерно так:

var  a:array [0..9] of byte;
..
begin
x:=14021233; k:=3;
while x>0 do
begin
inc (a[x mod 10]); x:=x div 10;
end;

Потом пройтись за 1 проход по массиву и сложить нужной колво чисел smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7





Группа: Пользователи
Сообщений: 5
Пол: Мужской

Репутация: -  0  +


у меня тут возникло несколько вопросов
1)масив берётся произвольно или нет
2)x и k берутся произвольно или нет
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Профи
****

Группа: Пользователи
Сообщений: 705
Пол: Мужской

Репутация: -  20  +


Цитата(@SNAKE@ @ 12.11.2007 22:30) *

у меня тут возникло несколько вопросов
1)масив берётся произвольно или нет
2)x и k берутся произвольно или нет

1) который ? Вспомогательный ? Нет, он заполняется по введенному Х.
2) скорее всего с клавиатуры их вводить надо.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9





Группа: Пользователи
Сообщений: 5
Пол: Мужской

Репутация: -  0  +


вот про этот масив var a:array [0..9] of byte;
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Профи
****

Группа: Пользователи
Сообщений: 705
Пол: Мужской

Репутация: -  20  +


Цитата(@SNAKE@ @ 12.11.2007 22:55) *

вот про этот масив var a:array [0..9] of byte;

а ты понимаешь его назначение ? Если нет, то разберись с алгоритмом или делай по первому варианту со строкой.. Вообще он заполняется выше приведенным кодом. Но я не настаиваю на этом варианте решения, он короче, но со строкой проще.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.03.2024 21:16
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name