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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 102, средняя оценка - 4.87
Lenin73
0 / 0 / 0
Регистрация: 14.10.2009
Сообщений: 3
#1

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

14.10.2009, 16:46. Просмотров 12764. Ответов 15
Метки нет (Все метки)

программа 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, которые делятся на каждую из своих цифр.
C++ Найти все натуральные числа, не превосходящие заданного n, которые делятся на каждую из своих цифр
Найти все натуральные числа,не превосходящие заданного n,которые делятся на каждую из своих цифр. C++
C++ Найти все натуральные числа, не превосходящие заданного п, которые делятся на каждую из своих цифр.
Найти все натуральные числа, не превосходящие заданного N и делящиеся на каждую из своих цифр C++
C++ Найти все натуральные числа, не превосходящие заданного значения N, которые делятся на каждую из своих цифр
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
4663 / 2489 / 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
ниначмуроФ
833 / 517 / 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
ниначмуроФ
833 / 517 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
14.10.2009, 21:47     Найти все натуральные числа, не превосходящие заданного n, которые делятся на каждую из своих цифр #6
а тут ООП и не пахнет
M128K145
Эксперт C++
8280 / 3499 / 143
Регистрация: 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
ниначмуроФ
833 / 517 / 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
2336 / 1051 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
15.10.2009, 00:02     Найти все натуральные числа, не превосходящие заданного n, которые делятся на каждую из своих цифр #10
Lenin73,
А как во второй программе функцию сделать рекурсивной?

в конце функции вызвать её ещё раз
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
1285 / 947 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
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++
4219 / 2193 / 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
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, которые делятся на каждую из своих цифр
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
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, которые делятся на каждую из своих цифр
Ответ Создать тему
Опции темы

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