Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.81/21: Рейтинг темы: голосов - 21, средняя оценка - 4.81
0 / 0 / 0
Регистрация: 30.11.2017
Сообщений: 6

В длинном числе изменить только одну цифру так, чтобы новое число делилось на 9

30.11.2017, 11:20. Показов 4082. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задано натуральное число, содержащее не более 200 цифр. В этом числе требуется изменить только одну цифру так, чтобы новое число делилось на 9 (даже если исходное число делится на 9). Количество цифр числа не должно меняться. Уменьшить цифру разрешается только в том случае, если увеличением нельзя получить новое число.
Формат входных данных:

Задано одно натуральное число, содержащее не более 200 цифр.

Формат выходных данных:

В первой строке напечатать 1, если получено новое число увеличением какой либо цифры, во второй строке наименьшее возможное новое чис-ло. В противном случае в первой строке печатаем −1, во второй строке — наибольшее число, полученное из исходного уменьшением одной цифры. Если и уменьшением только одной цифры нельзя получить чис-ло, делящееся нацело на 9, то вывести 0.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.11.2017, 11:20
Ответы с готовыми решениями:

Заменить в числе одну цифру так, чтобы получилось максимальное число Фибоначчи
дано натуральное число, если возможно заменить одну цифру так чтобы получилось максимальное число фибаначи

Выставить цифры в числе 1234567890 таким образом, чтобы новое число делилось без остатка на все числа от 2 до 18 включительно.
Дана задача. Выставить цифры в числе 1234567890 таким образом, чтобы новое число делилось без остатка на все числа от 2 до 18...

В числе *4**3 дописать три цифры так, чтобы полученное число делилось на 15
В числе *4**3 дописать три цифры так, чтобы полученное число делилось на 15.

2
2 / 2 / 1
Регистрация: 07.12.2015
Сообщений: 15
30.11.2017, 16:09
Лучший ответ Сообщение было отмечено SeregaMs как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
Var 
 s: string;//Читать будет проще
 sum: integer;
 min,max,nmin,nmax: integer;
 j,k: integer;//Счётчик
 
begin
 read(s);
 sum := 0;
 min := 10;
 max := -1;
 for j := 1 to Length(s) do
 begin
  k := StrToInt(s[j]);
  sum := sum + k;
  if(k >= max) then
  begin
   max := k;//Находим максимум
   nmax := j;//А также его позицию
  end;
  //Также минимум
  if(k < min) then
  begin
   min := k;
   nmin := j;
  end;
 end;
 k := sum mod 9;
 if k = 0 then k := 9;//Теперь k - то, на сколько надо уменьшить цифру
 j := 9 - k;
 if j = 0 then j := 9;//А j - на сколько увеличить
 if j + min < 10 then//Смотрим,не выходит ли за пределы разряда
 begin
  j := j + min;
  writeln('1');
  s[nmin] := Chr(j + 48);
  writeln(s);
 end
 else//Если придётся уменьшать
 begin
  if(max - k >= 0) then
  begin
   k := max - k;
   writeln('-1');
   s[nmax] := Chr(k + 48);
   writeln(s);
  end
  else
  begin
   writeln('0');
  end;
 end;
end.
Вот такой вот код для решения задачи с комментариями.
1
0 / 0 / 0
Регистрация: 30.11.2017
Сообщений: 6
01.12.2017, 06:03  [ТС]
Спасибо большое за решение
Если не сложно могли бы посмотреть другие мои темы
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.12.2017, 06:03
Помогаю со студенческими работами здесь

Заменить любую цифру числа так, чтобы полученное число делилось на наибольшее количество своих цифр
Дано натуральное число. Заменить любую его цифру так, чтобы полученное число делилось на наибольшее количество своих цифр. Нужно написать...

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

Приписать к 6-значному числу 523*** 3 цифры так, чтобы полученное число делилось на 7, 8, 9
Приписать к 6-значному числу 523*** 3 цифры так, чтобы полученное число делилось на 7, 8, 9. Program A1; var a,b,c,s,i:integer; ...

Прописать к числу слева и справа по одной цифре так, чтобы полученное число делилось на 4
Прописать к числу 102 слева и справа по одной цифре так, чтобы полученное пятизначное число делилось на 4; на 5 и 6;. Найти это число

К числу 43 припишите слева и справа по одной цифре так, чтобы полученное число делилось на 45
c++ К числу 43 припишите слева и справа по одной цифре так, чтобы полученное число делилось на 45.


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru