Loading...
viktorsd avatar viktorsd 0 Точки

04. Coins - while-loops

Здравейте, трябва ми малко помощ със задачата 4- ЛИНК . Не мога да разбера къде е грешката в логиката??Ще се радвам ако някой ми посочи грешката. Код - ЛИНК

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

Здравей

Мисля, че част от проблема идва от:

10-ти ред - money = money * 100; (трябва да закръглиш резултата)

и също условието на while цикъла трябва да е без равно -  while (money > 0)

Прикачвам моето решение на JavaScript и малко по-различно, но мисля, че ще се ориентираш.

function coins(input) {
    let coins = Number(input.shift());

    let lv = Math.floor(coins);
    let st = Math.floor(coins * 100 - lv * 100)

    let count = 0;

    while (lv > 0) {
        if (lv >= 2) {
            lv -= 2;
            count++;
        } else if (lv >= 1) {
            lv--;
            count++;
        }
    }
    while (st>0) {
        if(st >= 50) {
            st -= 50;
            count++;
        } else if(st >= 20) {
            st -= 20;
            count++;
        } else if(st >= 10) {
            st -= 10;
            count++;
        } else if(st >= 5) {
            st -= 5;
            count++;
        } else if(st >= 2) {
            st -= 2;
            count++;
        } else if(st >= 1) {
            st -= 1;
            count++;
        }
    }
    console.log(count);
    
}
coins([1.23])

 

0
ivanova_iliana avatar ivanova_iliana 9 Точки

Това е с 1 while  - като друг вариант за решение:

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

namespace Coins
{
    class Program
    {
        static void Main(string[] args)
        {
            double change = double.Parse(Console.ReadLine());
            int countCoins = 0;
            change = Math.Floor(change * 100); // change in coins

            while (change > 0)
            {
                if (change>=200)
                {
                    change = change - 200;
                    countCoins++;
                }
                else if (change>=100)
                {
                    change = change - 100;
                    countCoins++;
                }
                else if (change>=50)
                {
                    change = change - 50;
                    countCoins++;
                }
                else if (change>=20)
                {
                    change = change - 20;
                    countCoins++;
                }
                else if (change >= 10)
                {
                    change = change - 10;
                    countCoins++;
                }
                else if (change >= 5)
                {
                    change = change - 5;
                    countCoins++;
                }
                else if (change >= 2)
                {
                    change = change - 2;
                    countCoins++;
                }
                else if (change >= 1)
                {
                    change = change - 1;
                    countCoins++;
                }
            }
            Console.WriteLine(countCoins);

        }
    }
}
 

0
Tspetrova avatar Tspetrova 125 Точки

Здравей, приложил си условието на задача4-Библиотека, ще можеш ли да качиш условието за Монетите :-)

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