Определить количество повторений каждой из цифр 1,2...9 в числе N^N - C#
Формулировка задачи:
Определить количество повторений каждой из цифр 1,2...9 в числе N^N(N в степени N), N от 1 до 1000
Нашёл на С++, но оно не работает после 15. собственно вот:
}
З.Ы. С меня печеньки и котики всем кто поможет)
double N;
int[] count = new int[10];
for (int i=0;i<10; i++)
{
count[i]=0;
}
long result;
Console.WriteLine("Enter N");
N = double.Parse(Console.ReadLine());
result = (long)Math.Pow(N , N);
Console.WriteLine("N^N = {0}",result);
while(result!=0)
{
count[result%10]++;
result/=10;
}
for (int i=0; i<10; i++)
{
Console.WriteLine("{0} - {1}", i, count[i]);Решение задачи: «Определить количество повторений каждой из цифр 1,2...9 в числе N^N»
textual
Листинг программы
using System;
using System.Linq;
using System.Numerics;
namespace Counter
{
class Program
{
static void Main(string[] args)
{
try
{
var number = int.Parse(Console.ReadLine());
Console.WriteLine("N = " + number);
if (number < 1 || number > 1000)
{
Console.WriteLine("N должно быть в диапозоне от 1 до 1000");
return;
}
BigInteger powedNumber = number;
for (int i = 0; i < number; i++)
powedNumber *= number;
Console.WriteLine("N^N = " + powedNumber);
var numberCounter = new int[10];
while (powedNumber != 0)
{
var index = (int)(powedNumber % 10);
numberCounter[index]++;
powedNumber /= 10;
}
for (var i = 1; i < numberCounter.Count(); i++)
Console.WriteLine("Число - " + i + ", повторений - " + numberCounter[i]);
Console.ReadLine();
}
catch (Exception ex)
{
Console.WriteLine("Ошибка: " + ex.Message);
Console.ReadLine();
}
}
}
}