Форум программистов, компьютерный форум CyberForum.ru

Не выводятся все числа Армстронга - C++

Восстановить пароль Регистрация
 
_Лето_
1 / 1 / 0
Регистрация: 03.11.2013
Сообщений: 68
09.07.2014, 21:42     Не выводятся все числа Армстронга #1
Нужно вывести 4-хзначные числа Армстронга. Одно дает, другое не правильное. Должно получиться 1634, 8208, 9474
Подскажите в чем проблема. Исправьте, если можно

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <stdio.h> // Подключаем
#include <conio.h> // модули
//1634, 8208, 9474
int main()
{
 int x, y, z, n, j, a, st1, st2, st3, st4;  
 
  for (x=1; x<10; x++) 
   {
    for (y=0; y<10; y++)
     {
      for (z=0; z<10; z++)
       {
         for (j=0; j<10; j++)
            {
                for (n=1; n<10; n++)
                {
                    int n1;
         a=1000*x+100*y+10*z+j; 
         st1=1; st2=1; st3=1; st4=1;
         for (n1=1; n1<=n; n1++)
            {
                st1=st1*y; st2=st2*z; st3=st3*x; st4=st4*x;
            } 
            if (a == st1+st2+st3+st4) 
            { printf ("\n %d", a); }
            }
            }
            }
 
     }}
 
 return 0; 
}
Ошибка найдена, сам дурак -___-
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.07.2014, 21:42     Не выводятся все числа Армстронга
Посмотрите здесь:

Найти все числа Армстронга от 1 до к C++
Найти все n-значные числа Армстронга для данного n<9 C++
C++ Числа армстронга
Числа Армстронга C++
Найти все числа Армстронга от 1 до K C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lawr
 Аватар для lawr
351 / 245 / 120
Регистрация: 09.05.2014
Сообщений: 738
10.07.2014, 11:28     Не выводятся все числа Армстронга #2
Ошибка найдена, сам дурак -___-
а поделится?
frostyfull
31 / 31 / 8
Регистрация: 13.06.2014
Сообщений: 508
10.07.2014, 11:37     Не выводятся все числа Армстронга #3
_Лето_, не хочется вникать в твой код, но просто для справки, дабы избежать создания кучи ненужных переменных, ты можешь объявлять их прямо в условии цикла
C++
1
2
for (int i=0;i<10;i++)
{}
и она будет существовать только внутри этого цикла... вроде как, хотя я не уверен, но по-моему только в цикле
Kukurudza
105 / 86 / 6
Регистрация: 29.08.2012
Сообщений: 539
10.07.2014, 11:48     Не выводятся все числа Армстронга #4
frostyfull, так и есть
_Лето_
1 / 1 / 0
Регистрация: 03.11.2013
Сообщений: 68
12.07.2014, 13:38  [ТС]     Не выводятся все числа Армстронга #5
lawr, я код исправил в посте. он верный
Yandex
Объявления
12.07.2014, 13:38     Не выводятся все числа Армстронга
Ответ Создать тему
Опции темы

Текущее время: 15:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru