0 / 0 / 0
Регистрация: 10.07.2013
Сообщений: 6
1

Вычислить сколько единиц продукта приобретет Вася без сдач

10.07.2013, 19:05. Показов 5764. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите пожалуйста решить задачу , на первый взгляд легкая .
Студент Вася Пупкин вместо занятий решил ударить по пиву.У него в карманах могут находиться монеты достоинством 10 руб.,5 руб.,2 руб.,1 руб.,50 коп.,10 коп.,5 коп..Причем их может быть разное кол-во,которое задается(Для первого случая всех монет по 5 ,для второго пятикопеечных=0,для третьего десяти-и пятикопеечные=0,и т.д). Вася решил купить максимально возможное кол-во "Клинского"(стоимость "Клинского"=11.11),но в ларьке не оказалось сдачи.


Вычислить сколько единиц продукта , приобретет Вася без сдачи.
P.S Ответ не 8 ,
Заранее Огромнейшее Спасибо !!!

 Комментарий модератора 
Называйте темы осмысленно.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.07.2013, 19:05
Ответы с готовыми решениями:

Вася и Петя ограбили банк: вычислить, сколько монет украл Петя
Вася и Петя ограбили банк. Каждый из них смог вынести по одному мешку с золотом. Вскоре грабителей...

Составить последовательность из нулей и единиц без соседних единиц
помогите пожалуйста! проблема на экзамене составить последовательность из нулей и единиц без...

Определите, сколько всего задач решил Вася
Перед турниром Вася провел подготовку. Он решил А задач на циклы, В задач на массивы и C задач на...

Вася хочет узнать, сколько денег у останется на мороженное.
4.3. Обманщик Имя входного файла input.txt Имя выходного файла output.txt Максимальное время...

5
4 / 4 / 0
Регистрация: 14.05.2013
Сообщений: 51
10.07.2013, 21:28 2
C++
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
#include <iostream>
 
const double pivo=11.11;
 
int main(){
    double summa=0;
    double summa1=0;
    int a=6;
    int c=0;
    int kolPiva=0;
    double karman[6]={5.0,2.0,1.0,0.5,0.1,0.05};
    for (int b=0;b<6;b++){
        karman[b]=karman[b]*5;
        summa+=karman[b];
    }
    int otv=summa/pivo;
    std::cout<<"1-й случай "<<otv<<" клинских."<<std::endl;
    do{
        a--;
        for(int b=6;b>=a;b--){
            karman[b]=karman[b]*0;
        }
        for(int b=0;b<6;b++){
            summa1+=karman[b];
        }
        int otvet1=summa1/pivo;
        c++;
        std::cout<<c+1<<"-й случай "<<otvet1<<" клинских."<<std::endl;
        kolPiva+=otvet1;
        summa1=0;
    }while(a!=0);
    std::cout<<"Всего "<<kolPiva+otv<<" Клинских"<<std::endl;
 
}
Моя програмка говорит,что 17. Не знаю правильно ли я понял вашу задачу.
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,510
10.07.2013, 21:39 3

Не по теме:

Цитата Сообщение от Informator Посмотреть сообщение
стоимость "Клинского"=11.11)
не подскажете где?:D



Добавлено через 8 минут
ну если самая мелкая монета 5 коп
то стоимость должна быть кратна пяти
т.е пять десять пятнадцать бутылок
55.55
111.10
166.65
а денег всего
10*5+5*5+2*5+1*5+0.5*5+0.1*5+0.05*5=50+25+10+5+2.5+0.5+0.25=93.25
так что получается 5 бутылок
остальное 37.70 на сухарики
0
0 / 0 / 0
Регистрация: 10.07.2013
Сообщений: 6
10.07.2013, 22:01  [ТС] 4
Помогите пожалуйста решить задачу , на первый взгляд легкая .
Студент Вася Пупкин вместо занятий решил ударить по пиву.У него в карманах могут находиться монеты достоинством 10 руб.,5 руб.,2 руб.,1 руб.,50 коп.,10 коп.,5 коп..Причем их может быть разное кол-во,которое задается(Для первого случая всех монет по 5 ,для второго пятикопеечных=0,для третьего десяти-и пятикопеечные=0,и т.д). Вася решил купить максимально возможное кол-во "Клинского"(стоимость "Клинского"=11.11),но в ларьке не оказалось сдачи.


Вычислить сколько единиц продукта , приобретет Вася без сдачи.
P.S Ответ не 8 ,
Заранее Огромнейшее Спасибо !!!
0
0 / 0 / 0
Регистрация: 10.07.2013
Сообщений: 6
10.07.2013, 22:38  [ТС] 5
Вот на языке Java есть у меня,если есть возможность на C++ напишите пожалуйста.


Java
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
package newpack;
 
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
 
public class BuyBeer {
 
    /**
     * @param args
     * @throws IOException 
     */
    public int[] MoneyArr = {1000, 500, 200, 100, 50, 10, 5};   
    public int[] MoneyUser;
    public double BeerPrice = 0;
    public int SumMoney = 0;
    
    public BuyBeer(){
        System.out.print("Input beer price - ");
        Scanner scan = new Scanner(System.in);
        BeerPrice = scan.nextDouble();
    }
    
    public void inputBeer(){
        MoneyUser = new int[7];
        for (int i=0; i<7; i++){
            System.out.print("Input number of coins " + coinName(MoneyArr[i]) + " - ");
            Scanner scan = new Scanner(System.in);
            MoneyUser[i] = scan.nextInt();
            SumMoney += MoneyUser[i]*MoneyArr[i];
        }
    }
    
    public String coinName(int coin){
        String str = null;
        if (coin>50){str = coin/100 + " Rub";  }
        else {str = coin + " Kop";}
        return str; 
    }   
    
    public void outputBeer(){
        System.out.println("Total money - " + SumMoney + " kop.");
        System.out.println("He can buy " + colNew() + " bottles");
    }
    
    public int colNew(){
        int col = (int) (SumMoney/(BeerPrice*100));
        int ost = (int)(SumMoney - col*BeerPrice*100);
        for (int i = 6; i>-1; i--){
            
            if (MoneyUser[i]!=0){
                
            while (ost%MoneyArr[i]!=0){
            col--;
            if (col<1){break;} else{ost = (int)(SumMoney - col*BeerPrice*100);}
            }
            break;
            }           
        }       
        return col;
        
    }
    
    
    public static void main(String[] args) throws IOException {
        // TODO Auto-generated method stub
        BuyBeer Vasya = new BuyBeer();
        Vasya.inputBeer();
        Vasya.outputBeer();
    }
  
}
0
2 / 2 / 0
Регистрация: 16.10.2021
Сообщений: 10
16.10.2021, 17:44 6
C++
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#include <iostream>
#include<stdio.h.>
#include<cstring>
#include <Windows.h>
#include<cstdlib>
using namespace std;
 
class Money
{
public:
    float cost;//цена пива
    int nom[7];
    Money();
    ~Money();
    void filldata();//ввод пользователем данных о кол-ве денег у васи и о стоимости пива
    int countbeer();//возвращает количество бутылок пива, которое вася купит без сдачи
private:
 
};
 
Money::Money()
{
    cost = 0;
    for (int i = 0; i < 7; i++)
    {
        nom[i] = 0;
    };
}
 
Money::~Money()
{
}
 
void Money::filldata()
{
    string c[7] = { "10 рублей", "5 рублей", "2 рубля", "1 рубль", "50 копеек", "10 копеек", "5 копеек" };
    for (int i = 0; i < 7; i++)
    {
        cout << "Введите кол-во монет номиналом " + c[i] + " у Васи\n";
        cin >> nom[i];
        cout << "\n";
    };
    cout << "Введите стоимость пива\n";
    cin >> cost;
    cout << "\n";
}
 
int Money::countbeer()
{
    int arr[7]{1000, 500, 200, 100, 50, 10, 5};//вычисления происходят в копейках для точности вычислений и удобства
    int summon = 0;
    for (int i = 0; i < 7; i++)
    {
        summon = summon + arr[i] * nom[i];
    };
    int result = summon / (cost * 100);
    int ost = summon - result * cost * 100;
    for (int i = 6; i > -1; i--) {
 
        if (nom[i] != 0) {
 
            while (ost % arr[i] != 0) {
                result--;
                if (result < 1)
                { 
                    break; 
                }
                else { ost = summon - result * cost * 100; }
            }
            break;
        }
    }
    return result;
};
 
int main()
{
    setlocale(LC_CTYPE, "rus");
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    Money money;
    int beer = 0;
    
    money.filldata();
    beer = money.countbeer();
    cout << "Вася сможет купить без сдачи " << beer << " бутылок пива\n";
 
    return 0;
}
2
16.10.2021, 17:44
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.10.2021, 17:44
Помогаю со студенческими работами здесь

Двумерный массив, найти сколько единиц и сколько двоек находится в главной строке
Двумерный массив A(K,M) состоит только из чисел 1,2 и 3. Найти сколько единиц и сколько двоек...

Сколько различных прямоугольников может на листочке нарисовать Вася, если рисовать он умеет только по линиям?
У Васи есть листочек в клеточку, состоящий из N клеток по горизонтали и M клеток по вертикали,...

Вася с Петей и Колей заработали много денег.Помогите рассчитать, кто сколько купюр получит.
Вася с Петей и Колей заработали много денег. Чтобы не мучиться с дележкой, они решили, что сначала...

Определить, сколько из К кг исходного продукта получится сушеного
Надо написать программы на пару заданий. поможете? 1)Известно, что в состав сушеного продукта...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru