C# Part 2 - 2015/2016 @ 6 March 2015 - Evening


2

http://bgcoder.com/Contests/Practice/Index/223#0 Въпрос към 1ва задача?

това е кова ми. Отговорите излизат , но ми дава 0 точки помощ?

http://pastebin.com/2iYCM7Wh




Отговори



0

Не съм разцъквал цялата логика, но след всяко слагаш интервал - пише, че е trim, но може да е грешка. Пробвай със string.join  т.е. без интервал накрая. 
Има вероятност да се прелива int-a в MeowToDec() - пробвай да върнеш long (ест sum да е long също). При мен с long е 100/100.
Ето ти моето решение ако желаеш, но вярвам че ще се справиш със своето.

Enjoy!


от StoikoNeykov (2621 точки)


2
мерси !
.Split(new[] { " " }, StringSplitOptions.RemoveEmptyEntries) това помогна :) 100/100



1

Колеги, и аз имам въпрос по първа задача. Не мога да разбера защо ми дава 50/100. Мисля,че проблема е в for на TwentyOneToDec, но не разбирам защо?

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

namespace ProblemOne
{
    class Program
    {
        static ulong TwentyOneToDec(string str)
        {
            ulong result = 0;
                              
            for (int i = 0; i < str.Length; i++)
            {
                int digit = str[str.Length - 1 - i] - 'a';
                result += (ulong)(digit * Math.Pow(21, i));
            }
            return result;
        }
        static string DecToTwentySix(ulong number)
        {
            string output = string.Empty;
            while (number > 0)
            {
                char letter = (char)((number % 26)+'a');
                output = letter + output;
                number /= 26;
            }

            return output;
        }
            static void Main(string[] args)
        {
            var input = Console.ReadLine().Split(' ').Select(TwentyOneToDec).Select(DecToTwentySix).ToArray();
            Console.WriteLine(string.Join(" ", input));           
        }
    }
}