| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > Число Армстронга |
| Автор: Stormantonio 14.12.2014, 17:37 |
| Помогите разобраться с программой. Учусь заочно, времени в обрез, но хочется самому понять, как правильно должна быть написана эта программа. Суть задачи: Натуральное число из n цифр является числом Армстронга, если сумма его цифр, возведенных в n-ю степень, равна самому числу (например, 153). Получить все числа Армстронга, меньшие n(в n до 4 цифр). Вот моя "печаль"... запутался окончательно, подскажите, что не так? И как должно быть? Просто выдает все числа под ряд. Помогите, пожалуйста! Хочу научиться программировать, а не заказывать... Код C# using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication7 { class Program { static void Main(string[] args) { int a, b, c; for (a = 0; a < 10; a++) for (b = 0; b < 10; b++) for (c = 0; c < 10; c++) { double l = Math.Pow((a), (3)) + Math.Pow((b), (3)) + Math.Pow(©, (3)); double k = a * 100 + b * 10 + c; if ((l = k) < 1000) Console.WriteLine(k); Console.ReadKey(); } } } } |
| Автор: Ilya81 15.12.2014, 09:10 | ||||
Строчка
выглядит странно - ранее вычисленному l присваивается k, а затем почему-то проверяется, что оно меньше 1000 (смысл этого числа здесь не очень понятен). Может, вместо этого надо
И ещё, кстати - почему double, а не int - ведь используются целые числа. |