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

Задача на циклы: Можно ли разменять m рублей - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
kalmar141
0 / 0 / 0
Регистрация: 22.09.2012
Сообщений: 21
26.09.2012, 21:46     Задача на циклы: Можно ли разменять m рублей #1
Можно ли разменять m рублей на рублёвые, трёхрублёвые, пятирублёвые купюры так, чтобы получить всего 10 купюр? При этом известно, что 10<m<50.
Вот такое условие.
Вот что я намалякал):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include<stdio.h>
#include<math.h>
#include<conio.h>
void main()
{
int m, p1=1, p3=3, p5=5;
for(m=11; 10<m<50; m++, p1*2, p3*2, p5*2)
{
if (m=p1+p3+p5); printf ("da"); //вот здесь то и надо сделать чтобы m=десяти купюрам p1 p3 p5
else; printf ("net");
}
getch ()
}
Помогите пожалуйста)
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.09.2012, 21:46     Задача на циклы: Можно ли разменять m рублей
Посмотрите здесь:

C++ Задача на циклы
C++ Задача на Циклы
Задача на циклы. C++
Задача на циклы C++
C++ составить алгоритм подсчета количества способов, которыми можно разменять рубль медными монетами(достоинством в1,2,3,5 копеек)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
26.09.2012, 21:55     Задача на циклы: Можно ли разменять m рублей #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include<stdio.h>
#include<math.h>
#include<conio.h>
int f(int a)
{
    for(int i=0; i<=10; i++)
        for(int j=0; j<=10-i; j++)
            if(i+j*3+(10-i-j)*5==a)
                return 1;
    return 0;
}
void main()
{
int m, p1=1, p3=3, p5=5;
for(m=11; m<50; m++)
{
if (f(m)) printf ("%d = da\n", m); //вот здесь то и надо сделать чтобы m=десяти купюрам p1 p3 p5
else printf ("%d = net\n", m);
}
getch ();
}
kalmar141
0 / 0 / 0
Регистрация: 22.09.2012
Сообщений: 21
26.09.2012, 22:08  [ТС]     Задача на циклы: Можно ли разменять m рублей #3
valeriikozlov, оперативно,
C++
1
2
3
4
5
6
int f(int a)
{
    for(int i=0; i<=10; i++)
        for(int j=0; j<=10-i; j++)
            if(i+j*3+(10-i-j)*5==a)
                return 1;
Но вот эту часть я не понимаю и объяснить училке не смогу... Если не затруднит опиши для чего это.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
26.09.2012, 22:21     Задача на циклы: Можно ли разменять m рублей #4
Цитата Сообщение от kalmar141 Посмотреть сообщение
Но вот эту часть я не понимаю и объяснить училке не смогу...
не нужно ей ничего объяснять, дави на нее морально )

C++
1
2
3
4
5
6
int f(int a)// значение переменной a - это значение очередного числа m, 10<m<50.
{
    for(int i=0; i<=10; i++)// перебираем количество рублевых купюр. Их число может быть от 0 до 10 штук
        for(int j=0; j<=10-i; j++)// перебираем количество 3-х рублевых купюр. Их число может быть от 0 до 10 штук (10 штук вместе с однорублевыми)
            if(i+j*3+(10-i-j)*5==a)// соответственно количество 5-ти рублевых купюр может быть 10-i-j. Поэтому зная количество купюр: i, j, 10-i-j вычисляем сумму этих купюр: i+j*3+(10-i-j)*5. Если эта сумма совпала с со значением a, то значит возвращаем 1 (значит число a можно набрать 10 купюрами).
                return 1;
kalmar141
0 / 0 / 0
Регистрация: 22.09.2012
Сообщений: 21
26.09.2012, 22:34  [ТС]     Задача на циклы: Можно ли разменять m рублей #5
valeriikozlov,
Теперь все понятно) Огромное спасибо. И меня вот интересует почему ты и другие помогаете новичкам? Просто что бы набивать скил и не терять форму или как?
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
26.09.2012, 22:42     Задача на циклы: Можно ли разменять m рублей #6
Цитата Сообщение от kalmar141 Посмотреть сообщение
И меня вот интересует почему ты и другие помогаете новичкам?
про других, у других и спрашивайте.
я - потому что сейчас делать нечего.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.09.2012, 09:41     Задача на циклы: Можно ли разменять m рублей
Еще ссылки по теме:

C++ 6. Можно ли разменять m руб. на рублёвые, трёхрублёвые, пятирублёвые купюры так, чтобы получить всего 10 купюр. (10<m<50)
C++ Можно ли разменять m руб. на рублёвые, трёхрублёвые, пятирублёвые купюры так, чтобы получить всего 10 купюр
Сколькими способами можно разменять 100 000 рублей на монеты 1, 2, 5 рублей? C++

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

Или воспользуйтесь поиском по форуму:
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
27.09.2012, 09:41     Задача на циклы: Можно ли разменять m рублей #7
задача сводится к решению системы в целых числах
http://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
\left\{<br />
\begin{matrix}<br />
x+3y+5z=m\\ <br />
x+y+z=10\\ <br />
x\geq 0\\ <br />
y\geq 0\\ <br />
z\geq 0<br />
\end{matrix}<br />
\right.<br />
после решения получаем условия на m:
m должно быть четным и http://www.cyberforum.ru/cgi-bin/latex.cgi?10 \leq m \leq 50
поэтому для всех четных чисел в диапазоне от 10 до 50 решение существует. вне этого диапазона решений нет.
Yandex
Объявления
27.09.2012, 09:41     Задача на циклы: Можно ли разменять m рублей
Ответ Создать тему
Опции темы

Текущее время: 12:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru