Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [C++] Числа делящиеся на свои цифры


Автор: Denzel666 21.12.2006, 02:42
Поможите бедному студенты весь измучался с этой прогой...

Звучит задача так:

"Найти все натуральные числа, не превосходящие заданного N, и делящиеся на каждую из своих цифр"...

Добавлено @ 02:45 
Код

main()
{
int n;
for(i=1;i<n;i++)
{
r=n%10;
if(i%r==0)
i=i/10;
else
i++;
}
cout<<i;
}



что не так...подскажите

Автор: Pete 21.12.2006, 04:06
Код

#include <iostream>

using namespace std;

int main( void )
{
  int n = 100;
  int i, x, ok;
  
  for (i = 1; i < n; i++)
    {
      x  = i;
      ok = 1;
      while (x > 0) {
        if (x%10 == 0 || i%(x%10) != 0) {
          ok = 0;
          break;
        }
        x = x/10;
      }
      if (ok) cout << i << endl;
    }
  
  return 0;
}

Автор: Alexeis 21.12.2006, 10:19

 ! 
alexeis1
Denzel666, когда вы начнете правильно оформлять темы? Делаю вам последнее предупреждение. В заголовке нужно указывать в квадратных скобках язык программирования.

Автор: V.A.KeRneL 21.12.2006, 10:45
Denzel666, нельзя портить счётчик внутри цикла!!
Код

// ...
for(i=1;i<n;i++)
{
// ...
i=i/10;
else
i++;
}
// ...


Pete, какой C++!.. 
Код

#include <iostream>
using namespace std;
// ...
  int i, x, ok;
// ...
      ok = 1;
// ...
          ok = 0;
// ...
      if (ok) cout << i << endl;
// ...

Писал бы уж лучше на чистом C, раз уж его знаешь! Всё-равно, только <iostream> используешь (даже без bool, true, false), а он только тормозит программу, по сравнению с <stdio.h>!
Или ты экспериментируешь?.. smile Тогда, имхо, здесь не лучшее место! Лучше на локальной машине... А ещё лучше нам с тобой дочитать-таки до конца хоть книжку Страуструпа!.. smile
А так, прога вроде правильная... Младец! smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)