Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Число Армстронга 
:(
    Опции темы
Stormantonio
Дата 14.12.2014, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 14.12.2014

Репутация: нет
Всего: нет



Помогите разобраться с программой. Учусь заочно, времени в обрез, но хочется самому понять, как правильно должна быть написана эта программа. 
Суть задачи: Натуральное число из 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();
                        }
        }
    }
}
PM MAIL   Вверх
Ilya81
Дата 15.12.2014, 09:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 18.4.2014
Где: ЛО, Всеволожский р-н

Репутация: 1
Всего: 4



Строчка
Код

if ((l = k) < 1000)

выглядит странно - ранее вычисленному l присваивается k, а затем почему-то проверяется, что оно меньше 1000 (смысл этого числа здесь не очень понятен). Может, вместо этого надо
Код

if (l == k)
  Console.WriteLine(k);


И ещё, кстати - почему double, а не int - ведь используются целые числа.

Это сообщение отредактировал(а) Ilya81 - 15.12.2014, 09:12
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0378 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.