Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
westSCUL
0 / 0 / 0
Регистрация: 13.02.2014
Сообщений: 10
#1

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

19.02.2014, 17:59. Просмотров 631. Ответов 12
Метки нет (Все метки)

Найти все натуральные N-значения числа,цифры в которых делают сторого увеличение последовательности(234). Помогите пожалуйста,что не так.
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
#include <iostream>
#include <conio.h>
 
using std::cout;
using std::cin;
 
    
int chislo (int );      
int main(){
        cout << "Vvedite chislo trexznach.\n";
        
        int i ;     
        cin >> i;
        if(i<99){
        if(i%100==0){
        a=i%100;
        if(i%10==0){ b=i%10;
        c=b-a*10;
    }}
 
        if(c=a+1){
            cout<<i;}}
        _getch ();
        return 0 ;}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.02.2014, 17:59
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Найти все натуральные N-значения числа,цифры в которых делают сторого увелечение последовательности(234) (C++):

Найти все натуральные n-значные числа, цифры в которых образуют строго возрастающую последовательность - C++
Ребят,помогите сделать эту задачу через массивы.Я сделал через строки но мне сказали переделать ее через массивы Задача: Найти все...

Найти натуральные числа меньше N, цифры в записи которых образуют строго возрастающую последовательность - C++
/* Найти натуральные числа меньше N, цифры в записи которых образуют строго возрастающую последовательность. */ #include &lt;stdio.h&gt; ...

Даны натуральные числа n, m. Получить все меньшие n натуральные числа, квадрат суммы цифр которых , равен m - C++
Даны натуральные числа n, m. Получить все меньшие n натуральные числа, квадрат суммы цифр которых , равен m Решите на С++.Буду благодарна!

На отрезке [2, n] найти все натуральные числа, сумма цифр которых при умножении числа на а не изменится - C++
Помогите,вот задание. На отрезке найти все натуральные числа, сумма цифр которых при умножении числа на а не изменится. Код...

Реализовать программу, которая находит все натуральные n-значные числа,цифры в которых образуют строго возрастающую последовательность(1234,2378,5789) - C++
#include &lt;iostream&gt; #include &lt;cmath&gt; #include &lt;conio.h&gt; using namespace std; void swp(int &amp;i, int &amp;f) { int c1, c2,c3, n, f;//...

Напечатать все значения n, при которых все числа последовательности будут не меньше а - C++
Рассмотрим последовательность чисел: 1, 1+1/2, 1+1/3 . . . . . 1+1/n Напечатать все значения n, при которых все числа последовательности...

12
fishec
121 / 121 / 31
Регистрация: 07.09.2013
Сообщений: 343
19.02.2014, 18:06 #2
Я так понял, что нужно найти все N-значные числа(количество цифр в которых равно N. N вводится с клавиатуры) ?
0
westSCUL
0 / 0 / 0
Регистрация: 13.02.2014
Сообщений: 10
19.02.2014, 18:12  [ТС] #3
Цитата Сообщение от fishec Посмотреть сообщение
Я так понял, что нужно найти все N-значные числа(количество цифр в которых равно N. N вводится с клавиатуры) ?
так точно)
0
Amandosov
Знаток
156 / 156 / 65
Регистрация: 18.11.2012
Сообщений: 411
Записей в блоге: 2
19.02.2014, 18:20 #4
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
#include<iostream>
using namespace std;
int n,a[10];
void print(int k,int m)
{
 
for(int i=m+1;i<=9-k+1;i++)
{
a[n-k]=i;
if(k>1)
print(k-1,i);
else
{
    for(int i=0;i<n;i++)
    cout<<a[i];
    cout<<endl;
}
 
}
}
 
int main()
{
cin>>n;
if(n>9) {cout<<"Net takie chisla";return 0;}
 
print(n,0);
 
return 0;
}
1
fishec
121 / 121 / 31
Регистрация: 07.09.2013
Сообщений: 343
19.02.2014, 18:26 #5
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
#include <iostream>
#include <math.h>
using namespace std;
 
bool vozr(int a){
    int T=a;
    bool flag=true;
    while (T>0){
        if (T % 10 <= (T /10) % 10 ) {
            flag=false;
            break;
        }
        T=T/10;
    }
    return flag;
}
 
int main(){
    int N;
    cout << "Введите N(не больше 9) ";
    cin >> N;
    for (int i=pow(10,N-1); i < pow(10,N); i++) {
        if (vozr(i)){
            cout << i << " ";
        }
    }
    cout << endl;
    system("pause");
    return 0;
}
1
westSCUL
0 / 0 / 0
Регистрация: 13.02.2014
Сообщений: 10
19.02.2014, 18:44  [ТС] #6
Но мне надо что бы число "234" делилось с остатком.
например 234/100=2
a=2
234/10=23
23-a*10=3
b=3
234/1=234
234-a*100-b*10=4
с=4
таким образов у нас получается число 234 и в этом числе каждая цифра сторого увеличивается на 1.
0
fishec
121 / 121 / 31
Регистрация: 07.09.2013
Сообщений: 343
19.02.2014, 18:46 #7
Цитата Сообщение от westSCUL Посмотреть сообщение
Но мне надо что бы число "234" делилось с остатком.
Вот в этом цикле то, о чем ты говоришь, то есть проверка цифр путем поиска остатка при делении на 10 и целочисленного деления на 10
Цитата Сообщение от fishec Посмотреть сообщение
C++
1
2
3
4
5
6
7
while (T>0){ 
if (T % 10 <= (T /10) % 10 ) { 
flag=false; 
break; 
} 
T=T/10; 
}
Добавлено через 1 минуту
А число 235 подходит к условию или нет?
1
easybudda
Модератор
Эксперт CЭксперт С++
10020 / 5943 / 1004
Регистрация: 25.07.2009
Сообщений: 11,230
19.02.2014, 18:50 #8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
 
/* Возвращает true, если цифры переданного числа образуют строго возрастающую последовательность */
bool is_ascendant_ordered(unsigned n) {
    return ( n < 10 ) ? true : ( n % 10 > n / 10 % 10 ) ? is_ascendant_ordered(n / 10) : false;
}
 
int main() {
    unsigned n;
    
    while ( std::cout << "N = " && std::cin >> n && n > 9 )
        for ( unsigned i = 10; i <= n; ++i )
            if ( is_ascendant_ordered(i) )
                std::cout << i << std::endl;
    
    return 0;
}
1
westSCUL
0 / 0 / 0
Регистрация: 13.02.2014
Сообщений: 10
19.02.2014, 18:51  [ТС] #9
Цитата Сообщение от fishec Посмотреть сообщение
Вот в этом цикле то, о чем ты говоришь, то есть проверка цифр путем поиска остатка при делении на 10 и целочисленного деления на 10


Добавлено через 1 минуту
А число 235 подходит к условию или нет?
нет,я так понял, от учителя,что строго увеличение на +1 .ну или число 567, каждое число после 5 увеличивается на 1
0
easybudda
Модератор
Эксперт CЭксперт С++
10020 / 5943 / 1004
Регистрация: 25.07.2009
Сообщений: 11,230
19.02.2014, 18:57 #10
Цитата Сообщение от westSCUL Посмотреть сообщение
я так понял, от учителя,что строго увеличение на +1
тогда была бы арифметическая прогрессия с разностью 1, а строго возрастающая последовательность - это когда каждый следующий элемент обязательно больше предыдущего (не меньше и не равен ему).
0
westSCUL
0 / 0 / 0
Регистрация: 13.02.2014
Сообщений: 10
19.02.2014, 19:39  [ТС] #11
Цитата Сообщение от easybudda Посмотреть сообщение
тогда была бы арифметическая прогрессия с разностью 1, а строго возрастающая последовательность - это когда каждый следующий элемент обязательно больше предыдущего (не меньше и не равен ему).
А можешь объяснить пожалуйста тогда,что в моей программе не так? Или я вообще не то начал делать? Прост я начал делать,как учитель сказал и понял, что число "двести тридцать четыре" после деления по модулю должно выводиться так :
Введите число
234
a=2
b=3
c=4
0
fishec
121 / 121 / 31
Регистрация: 07.09.2013
Сообщений: 343
19.02.2014, 20:02 #12
Судя по задаче, тут не надо выводить ничего для конкретного числа. Может быть учитель просто привел пример, как разделить число на цифры? Делением и остатком..
0
Amandosov
Знаток
156 / 156 / 65
Регистрация: 18.11.2012
Сообщений: 411
Записей в блоге: 2
19.02.2014, 22:06 #13
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
#include<iostream>
using namespace std;
int n,a[10];
bool check()
{
if(n==1) return true;
 
int d=a[1]-a[0];
for(int i=0;i<n-1;i++)
if(a[i+1]-a[i]!=d) return false;
 
return true;
}
 
void print(int k,int m)
{
 
for(int i=m+1;i<=9-k+1;i++)
{
a[n-k]=i;
if(k>1)
print(k-1,i);
else
{
    if(check)
    {for(int i=0;i<n;i++)
    cout<<a[i];
    cout<<endl;
    }
}
 
}
}
 
int main()
{
cin>>n;
if(n>9) {cout<<"Net takie chisla";return 0;}
 
print(n,0);
 
return 0;
}
Добавлено через 1 минуту
то есть цифра 246 тоже удовлетворяет условию, здесь увеличение строго на +2
0
19.02.2014, 22:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.02.2014, 22:06
Привет! Вот еще темы с ответами:

Найти все трехзначные натуральные числа, сумма которых равна их произведению - C++
найти все трехзначные натуральные числа сумма которых равна их произведению. с кодом если можно

Найти все натуральные числа из заданного интервала, для которых справедливо условие - C++
Найти все натуральные числа a, b, c из интервала от 1 до 20, для которых выполняется равенство a^2+b^2=c^2 Программу я начал писать: ...

Найти все натуральные числа из промежутка от 1 до 200, у которых сумма делителей равна S - C++
Найти все натуральные числа из промежутка от 1 до 200, у которых сумма делителей равна S. (S вводить с клавиатуры) #include &lt;stdio.h&gt; ...

Найти все натуральные числа, не превосходящие заданного и десятичная запись которых последовательность - C++
Помогите, пожалуйста, составить программу на С++: Найти все натуральные числа , не превосходящие заданного N, десятичная запись которых...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru