ufak kod bloğu hazırladım c# için çıktısı;
Tamsayıyı Girin
728
2 sayisi 3 kere çarpanıdır!
7 sayisi 1 kere çarpanıdır!
13 sayisi 1 kere çarpanıdır!
toplam : 26
int a, b;
Console.WriteLine("Tamsayıyı Girin ");
a = int.Parse(Console.ReadLine());
int total = 0;
for (b = 2; a > 1; b++)
if (a % b == 0)
{
int x = 0;
while (a % b == 0)
{
a /= b;
total += b;
x++;
}
Console.WriteLine("{0} sayisi {1} kere çarpanıdır!", b, x);
}
Console.WriteLine("toplam : {0}",total);
Console.ReadLine();iyi çalışmalar
edit : asal sayılarla ilgili uğraşıyorsan prime factorization sorunu konusuyla ilgileniyorsan,euclidean algorithm, fermat's little theorem ve chinese remainder theoremlerine göz atmanı tavsiye ederim.
Peki şuanda örneğin 2 7 13 olarak alıyor asal sayıları ve topladığımızda 26 buluyor ancak bizim 26 değil sonuç olarak 17 bulmamız gerekiyor yani 2+2+2+7+1+3 yapması gerekiyor 13 üde basamaklarına ayırmamız gerekiyor bunu nasıl yapabilirim bir fikriniz varmı acaba