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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 102, средняя оценка - 4.87
Lenin73
0 / 0 / 0
Регистрация: 14.10.2009
Сообщений: 3
14.10.2009, 16:46     Найти все натуральные числа, не превосходящие заданного n, которые делятся на каждую из своих цифр #1
программа 1. Найти все натуральные числа, не превосходящие заданного n, которые делятся на каждую из своих цифр.

Программа 2. Программа для перевода данного натуральномбо числа в р-ную систему счисления (2, 8, 16)

 Комментарий модератора 
Именуйте темы осмысленно. Название темы должно максимально полно отражать ее содержимое.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.10.2009, 16:46     Найти все натуральные числа, не превосходящие заданного n, которые делятся на каждую из своих цифр
Посмотрите здесь:

C++ Найти все натуральные числа, не превышающие заданного N, которые делятся на каждую из своих цифр.
C++ Найти все натуральные числа, не превосходящие заданного n, которые делятся на каждую из своих цифр
Найти все натуральные числа,не превосходящие заданного n,которые делятся на каждую из своих цифр. C++
C++ Найти все натуральные числа, не превосходящие заданного п, которые делятся на каждую из своих цифр.
Найти все натуральные числа, не превосходящие заданного N и делящиеся на каждую из своих цифр C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
14.10.2009, 18:37     Найти все натуральные числа, не превосходящие заданного n, которые делятся на каждую из своих цифр #2
Задача 1.
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
35
#include <iostream>
#include <process.h>
#include <windows.h>
 
using namespace std;
 
int main ()
{
    int i, temp, j, n;
 
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    cout<<"Ââåäèòå ÷èñëî n: "<<endl;
    cin>>n;
    for(i=1; i<=n; i++)
    {
        temp=0;
        j=i;
        while(j>0)
        {
            if(j%10!=0)
            {
                if(i%(j%10)!=0)
                    temp=1;
            }
            else
                temp=1;
            j/=10;
        }
        if(temp==0)
            cout<<i<<endl;
    }
    system("pause");
    return 0; 
}
SerЁga
32 / 32 / 4
Регистрация: 18.08.2009
Сообщений: 93
14.10.2009, 19:53     Найти все натуральные числа, не превосходящие заданного n, которые делятся на каждую из своих цифр #3
Вторая задача
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
35
#include<stdio.h>
void main()
{
int ss,k1=10,k2=11,t,num1,i;
double num;
char ms[20]={' ',' ', ' ',' ',' ', ' ',' ',' ', ' ',' ',' ', ' ',};
char znak='+';
cout<<"vvedite isxodnoe chislo\n";
cin>>num;
if (num<0) {znak='-';num*=-1;}
cout<<"vvedite novoe osnovanie\n";
cin>>ss;
cout<<"vvedite tochnost\n";
cin>>t;
    num1=num;
    num=num-num1;
      while(num1>=ss)
      {
          i=num1%ss;
          num1/=ss;
          ms[k1--]=i>9?i-10+'a':i+'0';
      }
      ms[k1--]=num1>9?i-10+'a':num1+'0';
      ms[k1]=znak;
      ms[k2++]='.';
      while(num!=0 && k2-11<=t)
      {
          num*=ss;
          i=num;
          num-=i;
          ms[k2++]=i>9?i-10+'a':i+'0';
      }
      cout<<"\n";
      for (i=k1;i<k2;i++) {cout<<ms[i];}
}
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
832 / 516 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
14.10.2009, 20:16     Найти все натуральные числа, не превосходящие заданного n, которые делятся на каждую из своих цифр #4
Программа 1:
функция выводит все натуральные числа от 1 до n

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
long ListProstNumber(int x)
{
     int i;
     int x1=2;
     do
     {
         for (i=2; (i<=x1); i++)
         if ((x1 % i)==0)
         break;
         if (i==x1)
         cout<          x1++;
     } while (x1<=x);
}
Lenin73
0 / 0 / 0
Регистрация: 14.10.2009
Сообщений: 3
14.10.2009, 21:31  [ТС]     Найти все натуральные числа, не превосходящие заданного n, которые делятся на каждую из своих цифр #5
Мужики напишите пожалуйста 1ю проще первую прогу. Без объектно-ориентированного плз
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
832 / 516 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
14.10.2009, 21:47     Найти все натуральные числа, не превосходящие заданного n, которые делятся на каждую из своих цифр #6
а тут ООП и не пахнет
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
14.10.2009, 23:13     Найти все натуральные числа, не превосходящие заданного n, которые делятся на каждую из своих цифр #7
Lenin73, смотря что такое в твоем понятии ООП. Посмотри вот
такой
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include <iostream>
class Help
{
private:
    int n;
public:
    Help();
    ~Help();
    int getN();
    void setN(int val);
    void Print();
};
Help::Help()
{
    std::cout<<"Введите число:\n> ", std::cin>>n;
}
Help::~Help()
{
    n = NULL;
}
int Help::getN()
{
    return n;
}
void Help::setN(int val)
{
    n = val;
}
void Help::Print()
{
    int i, j, temp;
    for(i = 1; i <= n; ++i)
    {
        temp = 0;
        j = i;
        while(j > 0)
        {
            if(j % 10)
            {
                if(i % (j % 10))
                    temp = 1;
            }
            else
                temp = 1;
            j /= 10;
        }
        if(!temp)
            std::cout<<i<<' ';
    }
}
int main ()
{
    setlocale(LC_ALL, "Russian");
    Help* hlp = new Help();
    std::cout<<"Для n = "<<hlp->getN()<<std::endl;
    std::cout<<"Результат:\n";
    hlp->Print();
    std::cout<<std::endl;
    hlp->~Help();
    system("pause");
    return 0; 
}
вариант.
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
832 / 516 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
14.10.2009, 23:19     Найти все натуральные числа, не превосходящие заданного n, которые делятся на каждую из своих цифр #8
вот это ООП
Lenin73
0 / 0 / 0
Регистрация: 14.10.2009
Сообщений: 3
14.10.2009, 23:58  [ТС]     Найти все натуральные числа, не превосходящие заданного n, которые делятся на каждую из своих цифр #9
А как во второй программе функцию сделать рекурсивной?
Rififi
 Аватар для Rififi
2330 / 1045 / 43
Регистрация: 03.05.2009
Сообщений: 2,656
15.10.2009, 00:02     Найти все натуральные числа, не превосходящие заданного n, которые делятся на каждую из своих цифр #10
Lenin73,
А как во второй программе функцию сделать рекурсивной?

в конце функции вызвать её ещё раз
Lika_10
 Аватар для Lika_10
0 / 0 / 0
Регистрация: 28.11.2010
Сообщений: 17
28.11.2010, 15:59     Найти все натуральные числа, не превосходящие заданного n, которые делятся на каждую из своих цифр #11
Помогите написать программу.Пожалуйста!
задача:
Найти первый член последовательности, для которого выполнено условие |an-an-1|<E, если последовательность образована по закону: an=(1-1/2!)(1+1/3!)...(1+(-1)^n/(n+1)!)
David Sylva
 Аватар для David Sylva
1281 / 943 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
13.07.2012, 19:29     Найти все натуральные числа, не превосходящие заданного n, которые делятся на каждую из своих цифр #12
Задача 1
мой корявый вариант, вдруг корму-нибудь пригодится

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
35
36
37
38
#include <iostream> 
using namespace std; 
int main() 
{   
    setlocale(0, "rus");
    int j, i, a, b;
    int n;
    int count = 0; // счётчик цифр
    int flag = 0;  // счётчик выполнения условия
    
    cout << "Введите число " << endl; 
    cin >> n;
 
    for ( i = 1; i < n; i++) 
    { 
        a = b = i;
        while(a)   // считаем количество цифр
        { 
            a /= 10; 
            count++; 
        } 
 
        while(b) 
        { 
            j = b % 10;  
            if( j == 0) // если цифр 0, выход из цикла
                break;
            if( b % j == 0)  // если делится без остатка 
                flag++;      // увеличиваем счётчик
            b = b / 10; 
        } 
 
        if( count == flag) // если два счётчика равна выводим число
            cout << i << " " << endl; 
        count = 0; 
        flag = 0; 
    } 
}
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
04.07.2013, 15:41     Найти все натуральные числа, не превосходящие заданного n, которые делятся на каждую из своих цифр #13
Задача 1

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<stdio.h>
 
int Check(unsigned a, unsigned b)
{
   return a < 10 ? !(!a || b % a) : ((a % 10) && Check(a / 10, b));
}
 
int main()
{
   unsigned i, n;
   printf("n = "); scanf("%u", &n);
   for(i = 1; i <= n; ++i)
      if(Check(i, i))
         printf("%u\n", i);
   return 0;      
}
Futilite
 Аватар для Futilite
8 / 8 / 1
Регистрация: 17.12.2009
Сообщений: 85
11.11.2013, 01:56     Найти все натуральные числа, не превосходящие заданного n, которые делятся на каждую из своих цифр #14
Цитата Сообщение от valeriikozlov Посмотреть сообщение
Задача 1.
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
35
#include <iostream>
#include <process.h>
#include <windows.h>
 
using namespace std;
 
int main ()
{
    int i, temp, j, n;
 
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    cout<<"Ââåäèòå ÷èñëî n: "<<endl;
    cin>>n;
    for(i=1; i<=n; i++)
    {
        temp=0;
        j=i;
        while(j>0)
        {
            if(j%10!=0)
            {
                if(i%(j%10)!=0)
                    temp=1;
            }
            else
                temp=1;
            j/=10;
        }
        if(temp==0)
            cout<<i<<endl;
    }
    system("pause");
    return 0; 
}
напишите, пожалуйста, комментарии к коду.
сам принцып работы циклов, что за что отвечает
Dit666
0 / 0 / 0
Регистрация: 20.06.2014
Сообщений: 6
20.06.2014, 17:28     Найти все натуральные числа, не превосходящие заданного n, которые делятся на каждую из своих цифр #15
Помогите пожалуйста с написанием программы (C++) или скиньте что-то подобное ,только без cin cout ,если не сложно.

С помощью цикла «пока» или цикла «до» написать программу вычисления числа Фибоначчи, не превосходящего заранее заданное число N.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.01.2015, 22:54     Найти все натуральные числа, не превосходящие заданного n, которые делятся на каждую из своих цифр
Еще ссылки по теме:

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

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
wolchara
0 / 0 / 0
Регистрация: 07.01.2015
Сообщений: 3
09.01.2015, 22:54     Найти все натуральные числа, не превосходящие заданного n, которые делятся на каждую из своих цифр #16
Помогите с решением!!!
1.Значение N вводится с экрана. Найти сумму ряда:

1 + 1/(2)^3 + 1/(3)^3 + 1/(4)^3 + … + 1/(N)^3

Рекомендации к выполнению. В данной задаче используется цикл от 1 до N, следует учесть, что N - натуральное число.

2. Получить и распечатать последовательности чисел a1,... , an, b1,..., bn, a1 = b1=1,
где ai = (i2 + ai-1), bi = (2ai-1 + bi-1), найти сумму n
знак суммы ai+bi
i=1

Рекомендации к выполнению. Для выполнения задачи понадобится 2 массива размерности N (N задает пользователь с экрана): a[n] и b[n]. Массивы необходимо заполнить рекурсивным способом (т.е., когда значение следующего элемента массива зависит от предыдущего).

Первые элементы можно задать до начала цикла. Цикл начать со второго элемента последовательности. Сумма складывается также в цикле.
Yandex
Объявления
09.01.2015, 22:54     Найти все натуральные числа, не превосходящие заданного n, которые делятся на каждую из своих цифр
Ответ Создать тему
Опции темы

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