Определить количество повторений каждой из цифр 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();
- }
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д