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

Получить все числа Армстронга - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Написать функцию SUM (int M, int N) / С++ для начинающих http://www.cyberforum.ru/cpp-beginners/thread1112924.html
Написать функцию SUM (int M, int N), которая вычисляет и возвращает сумму всех чисел кратных 3 и 9 в пределах от M и N включительно . Использовать оператор цикла с параметром.
C++ Найти разность суммы положительных и произведения отрицательных чисел массива Найти разность суммы положительных и произведения отрицательных чисел массиванапишите программу,пожалуйста))) http://www.cyberforum.ru/cpp-beginners/thread1112907.html
C++ Вроде простой код, но съедает 1,5 гб оперативы, как это исправить?
вроде простой код, но съедает 1,5 гб оперативы, как это исправить? #include <iostream> int M = 20000; float **A; int main(void){ A = new float*; for ( int i = 0; i < M; ++i ) A = new float;
Найти произведение положительных кратных 3 элементов C++
Найти произведение положительных кратных 3 элементов
C++ Найти количество отрицательных элементов, находящихся на побочной диагонали http://www.cyberforum.ru/cpp-beginners/thread1112901.html
Найти количество отрицательных элементов, находящихся на побочной диагонали))))помогите,пожалуйста:cry:
C++ Ввести две строки символов A и B. Создать строку С следующим образом С1 = A1, C2 = В1, С3 = А2, С4 = В2 Ввести две строки символов A и B. Создать строку С следующим образом С1 = A1, C2 = В1, С3 = А2, С4 = В2 То есть,если A=1234 B=5678,то С=15263748 подробнее

Показать сообщение отдельно
ValeryS
Модератор
6377 / 4843 / 442
Регистрация: 14.02.2011
Сообщений: 16,056
06.03.2014, 23:01     Получить все числа Армстронга
Цитата Сообщение от Байт Посмотреть сообщение
if (i<100) n = 2;
Цитата Сообщение от Байт Посмотреть сообщение
for(p=1, k=0; k<n; k++) p*=c;
я конечно понимаю что ты в математике больше чем я сечешь, но почему степень от разрядности зависит?
это так "опыт сын ошибок трудных" или есть какое то доказательство
причем я "нутром чую " что может быть и так но объяснить не смогу
посему
я бы сделал так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int buftmp[4]={0};
int bufPow[4]={0}
for(int i=10;i<10000;i++)
{
 int tmp=i;
 int k;
  for(k=0;tmp;k++,tmp/=10)
     bufPow[k]= buftmp[k]=tmp%10;
 for(;k<4;k++)
     bufPow[k]=buftmp[k]=0; 
while((bufPow[0]+bufPow[1]+bufPow[2]+bufPow[3])<=i)
 {
  if((bufPow[0]+bufPow[1]+bufPow[2]+bufPow[3])==i)
      printf("%d\n", i);
  for(int m=0;m<4;m++)
     bufPow[m]*=buftmp[m];
  }
}
 
Текущее время: 11:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru