Помощ със задача - Metric Converter
Здравейте!Като цяло не съм студент в софтуни, защото все още съм ученик и не знам дали имам право да участвам във форумите.Наскоро почнах да се упражнявам и да решавам задачите от лекциите.Става въпрос за задачата Metric converter/Конвертор за мерни единици от лецкията "Логически проверки" - Programming Basics.Успях да я реша горе долу, но не ми дава пълен брой точки в judge-a и бих се радвал, ако ми обясните защо Това е кодът ми:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace METRIC_CONVERTER
{
class Program
{
static void Main(string[] args)
{
double numbersToConvert = double.Parse(Console.ReadLine());
string firstNumber = Console.ReadLine();
string secondNumber = Console.ReadLine();
var currencies = new Dictionary<string, double>()
{
{"mm", 1000 },
{"cm", 100 },
{"mi", 0.000621371192},
{"in", 39.3700787},
{"km", 0.001},
{"ft", 3.2808399},
{"yd", 1.0936133}
};
double result = numbersToConvert / currencies[firstNumber] * currencies[secondNumber];
Console.WriteLine("{0} {1}",result,secondNumber);
}
}
}
Този метод е просто доста бавен или някъде имам грешка в задачата?
Мисля че има мъничка математическа грешка в решението на IvanVillani, но иначе много ми помогна !!!
Май трябва да е
else if (from == "ft")
{
meter = sum* 0.3048;
}
вместо
else if (from == "ft")
{
meter = sum / 3.2808399;
}
Също мисля че има малка грешка в условието на задачата (при данните за проверка). 12 km са 39370.07880000 ft, а не 39370. 07886932. В judge обаче си е наред.
За това и аз се зачудих и го правих доста пъти, но не ставаше затова промених малко нещата по този (за мен не чак толкова точен начин) и се поличучи в judge!! Благодаря за забележката, знаех си, че ще я посочи някой!!:)