Actual: [unsupported type] при решении задачи на codewars

Решаю задачи на сервисе CodeWars.com. Вообщем, задание звучит так: Число m в форме 10x + y делится на 7 тогда и только тогда, когда x - 2y делится на 7. Другими словами, дважды вычтите последнюю цифру из числа, образованного оставшимися цифрами. Продолжайте делать это, пока не будет получено число, которое известно как делимое или нет на 7; Вы можете остановиться, когда этот номер имеет не более 2 цифр, потому что вы должны знать, делится ли число не более 2 цифр на 7 или нет. Исходное число делится на 7 тогда и только тогда, когда последнее число, полученное с помощью этой процедуры, делится на 7. Примеры: 1 - m = 371 -> 37 - (2 × 1) -> 37 - 2 = 35; таким образом, поскольку 35 делится на 7, 371 делится на 7. Количество шагов для получения результата - 1. 2 - m = 1603 -> 160 - (2 x 3) -> 154 -> 15 - 8 = 7 и 7 делится на 7. 3 - m = 372 -> 37 - (2 × 2) -> 37 - 4 = 33; таким образом, поскольку 33 не делится на 7, 372 не делится на 7. Количество шагов для получения результата - 1. 4 - m = 477557101-> 47755708-> 4775554-> 477547-> 47740-> 4774-> 469-> 28 и 28 делится на 7, как и 477557101. Количество шагов 7. Вот моё решение:

class DivSeven
{
public:
    static std::pair <long long, long long> seven(long long m)
    {
    std::pair <long long, long long> outp;
    long long count=0;
    long long lastn=m%10;
    long long erasel=m/10;
    while(1)
    {
        ++count;
        lastn*=2;
        erasel-=lastn;
        if(erasel<100)
        {
            outp.first=erasel;
            outp.second=count;
            return outp;
            break;
        }
        lastn=erasel%10;
        erasel/=10;
    }
    };
};

Вот проверочный код с сайта:

void testequal(std::pair <long long, long long> ans, std::pair <long long, long long> sol) {
    Assert::That(ans, Equals(sol));
}
void dotest(long long nb, std::pair <long long, long long> expected)
{
    testequal(DivSeven::seven(nb), expected);
}
Describe(seven_Tests)
{
    It(Fixed__Tests)
    {
        dotest(1021, {10, 2});
        dotest(477557101, {28, 7});
        dotest(477557102, {47, 7});
        dotest(234002979, {21, 7});
    }
};

При проверке выявляется ошибка: Expected: equal to [unsupported type] Actual: [unsupported type]. Сам сайт не показывает в какой строке ошибка, может вы подскажете, что ему нужно. Допиливать код я потом буду, так как мне кажеться что код немного грубоват.


Ответы (0 шт):