Пример:
142 536 - 635 241=-492 705:3=-164 235
А ето тук написах една програмка за тестване на числата дали се делят на 3 техните разлики. Ако дадено число не се дели точно на 3 би трябвало да го отпечата, обаче аз чаках 1 час и се отказах да чакам, защото не мисля че е възможно на двуядрения ми процесор да приключи дори и за 1 година. Нищо не отпечата. Ако някой вижда бъгове моля да сподели. Конзолна апликация на C# - под ръка ми беше Visual Studio-то. Евентоално ако някой се сеща за подобряване на алгоритъма може също да пише. Ето кода.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
public class Alpha
{
// This method that will be called when the thread is started
public void Beta()
{
check(0, 4223372036854775800);
}
public void Gama()
{
check(4223372036854775801, 9223372036854775800);
}
static void check(long startNumber,long endNumber)
{
long digit;
for (digit = startNumber; digit < endNumber; digit++)
{
if ((digit - reverse(digit)) % 3 != 0)
{
Console.WriteLine(digit);
}
}
}
static long reverse(long digit)
{
long r;
//ulong digit = 113240;
long left = digit;
long temp = 0;
while (left > 0)
{
r = left % 10;
temp = temp * 10 + r;
left = left / 10; //left = Math.floor(left / 10);
}
return temp;
}
};
namespace digitTester
{
class Program
{
static void Main(string[] args)
{
Alpha oAlpha = new Alpha();
Alpha uAlpha = new Alpha();
Thread oThread = new Thread(new ThreadStart(oAlpha.Beta));
Thread uThread = new Thread(new ThreadStart(oAlpha.Gama));
// Start the thread
oThread.Start();
uThread.Start();
oThread.Join();
uThread.Join();
Console.WriteLine("Finish!");
Console.ReadLine();
}
}
}

Меню