Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
gobL1n
0 / 0 / 0
Регистрация: 25.11.2011
Сообщений: 9
#1

Дано натуральное число. Заменить любую из его цифр так, чтобы получилось максимальное совершенное число. - C++

25.11.2011, 11:31. Просмотров 1062. Ответов 11
Метки нет (Все метки)

Дано натуральное число N. Если это сложно, заменить любую из его цифр (только одну) так, чтобы получилось максимальное совершенное число.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.11.2011, 11:31     Дано натуральное число. Заменить любую из его цифр так, чтобы получилось максимальное совершенное число.
Посмотрите здесь:

Дано натуральное трехзначное число n. Переставить его цифры так, чтобы образовалось максимальное число, записанное теми же цифрами. - C++
Дано натуральное трехзначное число n. Переставить его цифры так, чтобы образовалось максимальное число, записанное теми же цифрами.

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

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

Дано натуральное число. Если число цифр в числе нечетно, то удалить его серединную цифру - C++
Дано натуральное число. Если число цифр в числе нечетно, то удалить его серединную цифру. Входные данные Дано натуральное число,...

Заменить данное натуральное число на число, которое получается из исходного записью его цифр в обратном порядке - C++
1) Заменить данное натуральное число на число, которое получается из исходного записью его цифр в обратном порядке. Например, дано число...

Дано натуральное число n. Вычислить сумму его цифр - C++
Помогите пожалуйстааа! :) Нужно на с++ реализовать эту задачку

Дано натуральное число. Определить, сумму его цифр, больших а - C++
Помогите исправить задачу а то не могу разобраться где ошибка. Дано натуральное число. Определить, сумму его цифр, больших а....

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Байт
Эксперт C
15634 / 9976 / 1499
Регистрация: 24.12.2010
Сообщений: 18,722
25.11.2011, 12:47     Дано натуральное число. Заменить любую из его цифр так, чтобы получилось максимальное совершенное число. #2
Цитата Сообщение от gobL1n Посмотреть сообщение
Дано натуральное число N. Если это сложно, заменить любую из его цифр (только одну) так, чтобы получилось максимальное совершенное число.
Кто чего понял? Я - нет.
gobL1n
0 / 0 / 0
Регистрация: 25.11.2011
Сообщений: 9
25.11.2011, 12:57  [ТС]     Дано натуральное число. Заменить любую из его цифр так, чтобы получилось максимальное совершенное число. #3
Если это возможно, заменить любую из его цифр (только одну) так, чтобы получилось максимальное совершенное число.
Thinker
Эксперт C++
4221 / 2195 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
25.11.2011, 13:02     Дано натуральное число. Заменить любую из его цифр так, чтобы получилось максимальное совершенное число. #4
Байт, совершенное число это когда оно совпадает с суммой своих делителей, не равных этому числу. Требуется путем замены не более одной цифры числа получить совершенное число и из всех таких возможных замен найти максимальное совершенное число.
Байт
Эксперт C
15634 / 9976 / 1499
Регистрация: 24.12.2010
Сообщений: 18,722
25.11.2011, 13:07     Дано натуральное число. Заменить любую из его цифр так, чтобы получилось максимальное совершенное число. #5
Цитата Сообщение от Thinker Посмотреть сообщение
Байт, совершенное число это когда оно совпадает с суммой своих делителей, не равных этому числу. Требуется путем замены не более одной цифры числа получить совершенное число и из всех таких возможных замен найти максимальное совершенное число.
из поста #3 я это кажется начал понимать. Что такое совершенное число, я догадываюсь. А вот из поста #1 я ничего понять не смог. Ладно, попробуем.
Thinker
Эксперт C++
4221 / 2195 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
25.11.2011, 13:10     Дано натуральное число. Заменить любую из его цифр так, чтобы получилось максимальное совершенное число. #6
Цитата Сообщение от Байт Посмотреть сообщение
из поста #3 я это кажется начал понимать. А вот из поста #1 я ничего понять не смог.

Не по теме:

Там же одно и то же Понял, что вы пошутили

Байт
Эксперт C
15634 / 9976 / 1499
Регистрация: 24.12.2010
Сообщений: 18,722
25.11.2011, 13:22     Дано натуральное число. Заменить любую из его цифр так, чтобы получилось максимальное совершенное число. #7
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int Sov(int n) 
{ int i, s;
for(i=1, s=0; i<=n; i++) if ((n%i)==0) s+=i;
if (s==n) return 1;
else return 0;
}
main()
{ int n, M; char s[20]. t[20];
M = -1;
strcpy(s, _argv[1]);
for(i=0; i<strlen(s); i++) {
 strcpy(t, s);
 for(j=0; j<10; j++) {
   t[i] = '0'+j;
   if (t[i] == s[i]) continue;
   n = atoi(t);
   if (Sov(n) && n> M) M = n;
 }
}
if (M > 0) printf("M=%d\n", M);
}
Вот как-то так.
Thinker
Эксперт C++
4221 / 2195 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
25.11.2011, 13:32     Дано натуральное число. Заменить любую из его цифр так, чтобы получилось максимальное совершенное число. #8
Байт, рассматриваются собственные делители, поэтому
C++
1
for(i=1, s=0; i <= (n >> 1); i++)
BRcr
4006 / 2295 / 155
Регистрация: 03.02.2011
Сообщений: 5,064
Записей в блоге: 10
25.11.2011, 13:41     Дано натуральное число. Заменить любую из его цифр так, чтобы получилось максимальное совершенное число. #9
Байт, а можете слегка прокомментировать вот эти строчки, что-то не могу никак врубиться
C++
1
2
3
4
5
6
strcpy(s, _argv[1]);
for(i=0; i<strlen(s); i++) {
 strcpy(t, s);
 for(j=0; j<10; j++) {
   t[i] = '0'+j;
   if (t[i] == s[i]) continue;
Байт
Эксперт C
15634 / 9976 / 1499
Регистрация: 24.12.2010
Сообщений: 18,722
25.11.2011, 14:16     Дано натуральное число. Заменить любую из его цифр так, чтобы получилось максимальное совершенное число. #10
C++
1
2
3
4
5
6
7
// Считаю что число дается аргументом вызова программы "proga.exe 1234"
strcpy(s, _argv[1]);  // Копирую анализируемое число.
for(i=0; i<strlen(s); i++) {  // Перебираю все цифровые позиции числа
 strcpy(t, s);  // Просто копирую исходное число во временную строку
 for(j=0; j<10; j++) {  // Цикл по кол-ву цифр
   t[i] = '0'+j;  // Заменяю i-тую цифру
   if (t[i] == s[i]) continue; // Если цифра равна исходной, ничего не делаю. Так я понял условие
Добавлено через 1 минуту
Цитата Сообщение от Thinker Посмотреть сообщение
Байт, рассматриваются собственные делители, поэтому
C++
1
for(i=1, s=0; i <= (n >> 1); i++)
Вы совершенно правы!
И еще одна описочка - после s[20] не точка, а запятая
gobL1n
0 / 0 / 0
Регистрация: 25.11.2011
Сообщений: 9
09.12.2011, 13:26  [ТС]     Дано натуральное число. Заменить любую из его цифр так, чтобы получилось максимальное совершенное число. #11
А можно её как нибудь проще написать?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.12.2011, 13:30     Дано натуральное число. Заменить любую из его цифр так, чтобы получилось максимальное совершенное число.
Еще ссылки по теме:

Дано трехзначное натуральное число. Найти произведение его цифр - C++
3. Дано трехзначное натуральное число. Найти произведение его цифр. Я девушка, и, честно говоря, не понимаю, зачем нас заставляют это...

Дано натуральное число. Верно ли, что сумма его цифр меньше a? - C++
Дано натуральное число. Верно ли, что сумма его цифр меньше a? с++

Написать программу. Дано натуральное число n. Определить сумму m его последних цифр - C++
Дано натуральное число n. Определить сумму m его последних цифр. Ввод данных и вывод результатов организовать в главной функции, а все...

Дано натуральное трехзначное число n. Верно ли, что среди его цифр есть 0 или 9? - C++
Доброго времени суток как реализовать на c++?Дано натуральное трехзначное число n. Верно ли, что среди его цифр есть 0 или 9? Понимаю что...

Дано натуральное число. Найти число, получаемое удалением из исходного всех цифр a - C++
Дано натуральное число. Найти число, получаемое удалением из исходного всех цифр a.


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

Или воспользуйтесь поиском по форуму:
Thinker
Эксперт C++
4221 / 2195 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
09.12.2011, 13:30     Дано натуральное число. Заменить любую из его цифр так, чтобы получилось максимальное совершенное число. #12
Цитата Сообщение от gobL1n Посмотреть сообщение
А можно её как нибудь проще написать?
Самый понятный код - код, написанный своими руками, код, рожденный в своей голове
Yandex
Объявления
09.12.2011, 13:30     Дано натуральное число. Заменить любую из его цифр так, чтобы получилось максимальное совершенное число.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru