Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.02.2014, 23:11   #1
Kcilika
Пользователь
 
Регистрация: 06.11.2013
Сообщений: 19
По умолчанию Помогите решить

Дано натуральное число N. Найти наименьшее число М (N < M < 2N) которое делится на сумму цифр числа N (без остатка). Если такого числа нет, то вывести слово «нет». Пример. N = 12 345, М = 12360. Число 12 360 делится на число 15 — сумму цифр числа N.
Kcilika вне форума Ответить с цитированием
Старый 12.02.2014, 23:25   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Алгоритм:
Считать N
Посчитать сумму цифр в нем
Запустить цикл от N + 1 до 2N - 1
Если встретили число, делящееся на сумму, то вывели его и завершили программу
Если цикл закончился, а число не нашли, то выводим слово "нет" и завершаем программу

Что не получается?
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 12.02.2014, 23:36   #3
Kcilika
Пользователь
 
Регистрация: 06.11.2013
Сообщений: 19
По умолчанию

Можно по подробней объяснить алгоритм.. С языком си недавно знакома не совсем понимаю как это сделать
Kcilika вне форума Ответить с цитированием
Старый 12.02.2014, 23:49   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

На каком пункте алгоритма Вы застряли?
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 12.02.2014, 23:59   #5
Kcilika
Пользователь
 
Регистрация: 06.11.2013
Сообщений: 19
По умолчанию

на первом пункте
Kcilika вне форума Ответить с цитированием
Старый 13.02.2014, 00:17   #6
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Функции printf и scanf Вам знакомы?
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 13.02.2014, 00:23   #7
Kcilika
Пользователь
 
Регистрация: 06.11.2013
Сообщений: 19
По умолчанию

да, функции scanf b printf знакомы
Kcilika вне форума Ответить с цитированием
Старый 13.02.2014, 00:29   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Kcilika Посмотреть сообщение
да, функции scanf b printf знакомы
вот и напишите с помощью printf выдачу сообщения типа "Введите число N", а следующей строчкой кода с помощью scanf прочитайте введённое пользователем число в переменную (например, n).
p.s. переменную предварительно нужно описать (т.е. указать её тип и имя).
Serge_Bliznykov вне форума Ответить с цитированием
Старый 13.02.2014, 00:31   #9
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

"Считать N" = Воспользоваться функцией printf для вывода подсказки и функцией scanf для считывания целого числа N.
Напишите код для этого этапа, а пока словесное описание 2 этапа:
Используя цикл while, оператор / для нахождения частного и оператор % для нахождения остатка, "отрезаем" по 1 цифре от числа (остаток от деления на 10), прибавляем цифру к сумме, "укорачиваем" число на 1 цифру (находим частное от деления на 10), повторяем операции в цикле, пока число не обратится в 0 (лучше резать не само число n, а завести временную переменную tmp, в которую занести значение n, и значение которой менять в цикле).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 13.02.2014, 00:31   #10
Kcilika
Пользователь
 
Регистрация: 06.11.2013
Сообщений: 19
По умолчанию

хорошо. так? переменная M в scanf наверно лишняя..
Изображения
Тип файла: jpg Безымянный.jpg (25.3 Кб, 112 просмотров)

Последний раз редактировалось Kcilika; 13.02.2014 в 00:42.
Kcilika вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Парни помогите!!срочно нужно решить в течении пару часов..завтра зачет!Парни помогите! razorl1ner Паскаль, Turbo Pascal, PascalABC.NET 0 01.06.2009 00:02
Помогите Помогите Пожалуйста Решить Одну Задачку в Паскале!!! VisTBacK Помощь студентам 6 19.09.2008 13:44
Помогите решить maximon Помощь студентам 10 26.12.2007 19:25