Loading...
marian12 avatar marian12 36 Точки

Programming Basics Exam - 7 January 2018 // 6 зад Juice Diet

Колеги, може ли малко помощ със следната задача, изкарва ми 40/100 в judge...

Линк ---> https://judge.softuni.bg/Contests/Practice/Index/911#11

Код --- >

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace aedano
{
    class Program
    {
        static void Main(string[] args)
        {
            var raspberries = int.Parse(Console.ReadLine());
            var strawberries = int.Parse(Console.ReadLine());
            var cherries = int.Parse(Console.ReadLine());
            var maxJuice = int.Parse(Console.ReadLine());
            double currentJuice = 0;
            double max = 0;
            for (double i = 0; i <= raspberries; i++)
            {
                for (double j = 0; j <= strawberries; j++)
                {
                    for (double k = 0; k <= cherries; k++)
                    {
                        currentJuice = (i * 4.5) + (j * 7.5) + (k * 15);
                        if (currentJuice <= maxJuice)
                        {
                            if (currentJuice > max)
                            {
                                max = currentJuice;
                            }

                        }

                    }
                }
            }
            for (double i = 0; i <= raspberries; i++)
            {
                for (double j = 0; j <= strawberries; j++)
                {
                    for (double k = 0; k <= cherries; k++)
                    {
                        currentJuice = (i * 4.05) + (j * 7.5) + (k * 15);
                        if (currentJuice == max)
                        {
                            Console.WriteLine("{0} Raspberries, {1} Strawberries, {2} Cherries. Juice: {3} ml.", i, j, k, currentJuice);
                            return;
                        }
                    }
                }
            }
        }
    }
}

Тагове:
0
Programming Basics
dankina12 avatar dankina12 10 Точки
Best Answer

Грешката ти е накрая в сметките: currentJuice = (i * 4.05) + (j * 7.5) + (k * 15);
Трябва да е - (i * 4.5) + (j * 7.5) + (k * 15);

1
marian12 avatar marian12 36 Точки

Вярно.. това явно е от бързане, малка грешка, благодаря ти!

0
TeodorStefanovPld avatar TeodorStefanovPld 1274 Точки

защо са ти 2 х вложени цикли? всичко се прави на един път... тоя втория вложен цикъл идея си нямам за какво ти е честно

-1
TonislavAtanasov avatar TonislavAtanasov 86 Точки

Наистина нямаш нужда от второто завъртане. Просто първия път като въртиш комбинациите, освен максималното количество сок, си запази и като стринг плодовете, които са го съставили. Това обаче не е грешка. Грешката е, че не взимаш предвид от какви плодове е съставен сока и ако имаш еднакви количества от различни комбинации, трябва да избереш тази с най-много череши, ако и те са равни, гледаш следващия по сочност плод и така. Успех.

Още нещо, итераторът във for-а няма нужда да е double. Не е грешно, но няма смисъл след като броиш цели числа.

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.