Converter C#

Здравейте колеги,

Къде бъркам при задача 9 от потготвителните ?
https://pastebin.com/4MB9cRTd
Благодаря предварително!

Може ли да качиш и условието? :slight_smile:

Converter

You want to buy this really cool car from the UK, but you are worried about the fuel consumption. The values you see are MPG (miles per gallon). You have no idea what 20 MPG means so, being a programmer, decide to write a converter that helps you calculate the consumption.

Doing some research, you learn that 1 gallon = 4.54 litres and 1 mile = 1.6 km .

After the calculation, round the result down to the neareast whole number.

Input

  • On the first line you will receive a number m - miles per galon

Output

  • On the only line of output, print {result} litres per 100 km

Constraints

  • 1 <= m <= 100

Input

20

Output

14 litres per 100 km

Input

44

Output

6 litres per 100 km

Ох спомням си тази задача!

Имаме mpg мили за 1 галон

  1. от дадените в условието съотношения:
    1,6x mpg км за 4,54л, което е равносилно на 4,54 л за 1,6x mpg км
  2. за да го превърнем в n литри за 100км:
    (4,54x100/1.6)x(1/ mpg )= n
    283.75x(1/ mpg )= n

Пробвай така. Тази задача ми е сантиментална хаха :slight_smile:

2 Likes

Решението ми излиза вярно във Visual Studio със стойностите които въвеждам от условието за 20 = 14 и 44 = 6 , но нещо Judge системата не ми харесва решението. Някаква идея ?

class Program
{
static void Main(string[] args)
{
int milesPerGalon = int.Parse(Console.ReadLine());

        if (1 <= milesPerGalon && milesPerGalon <= 100)
        {

            double kmGl = (milesPerGalon *1.6); // 20 * 1.6 = 32
            double kmLt = (kmGl /4.54); // 32 / 4.54 = 7.05

            

            int result = Convert.ToInt32 (100/kmLt);
            


            Console.WriteLine($" {result} liters per 100 km");


        }
    }

}
1 Like

Пробвай дали не ти трябва BigInteger ако не може да се побере в int, другия вариант е ако иска да ти закръгли до 2рото число след десетичната запетая например. В този случай трябва да направиш така:
Console.WriteLine($" {result:F2} liters per 100 km");

Пробвай така :slight_smile:

И това не помогна. Той отговора си ми излиза като цяло число:
20
14 liters per 100 km

Ще търся решение, благодаря все пак. Важното е че работи

Извинявай! Аз не съм погледнала условието. Трябва да сложиш Math.Floor, тъй като в условието пише:
After the calculation, round the result down to the neareast whole number. :slight_smile:

И това не е :slight_smile: .

Във крайния резултат промени liters на litres, защото така го иска Judge.

3 Likes

Не мога да повярвам :smiley: , a ние тука цяла сутрин с @yoanna.kostova модефицираме кода . Благодаря Никола!

2 Likes

Хаха, често срещан “проблем” със Judge. Трябва да се оглежда добре крайния резултат, че за един символ разлика и гърми.

2 Likes

Няма страшно, скоро ще свършат конзолните, само че после става още по-тегаво, когато няма judge :smiley:
@nikola.yanev99 - The mystery solver!

2 Likes

За да не пускам нова тема . Предполагам че някъде е писано по въпроса , защо Judge не харесва това:
List numbers = input.Split(", ").Select(int.Parse).ToList();
Казва това:

Да, ако искаш да сплитваш, или го прави само с един char, или със char[]. Мисля, че така ги приемаше. :smiley:, например нещо такова:

2 Likes

Благодаря , това е окей . Когато принтирам обаче не приема това:
Console.WriteLine(string.Join(’,’, output));
и трябва всеки път с Фор цикъл да принтирам. Мисля си ,че има нещо по-лесно за което аз не се сещам…

Вместо това:


Трябва да принтирам с това:
222

А какво си запазил в променливата output? И мисля, че трябва да е String.Join(’,’, output);

Лист от интове мисля , даже не успях да го намеря повече, но явно се е получило .Една от задачите които търках и започвах от начало. :slight_smile: