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

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

Восстановить пароль Регистрация
 
westSCUL
0 / 0 / 0
Регистрация: 13.02.2014
Сообщений: 10
19.02.2014, 17:59     Найти все натуральные N-значения числа,цифры в которых делают сторого увелечение последовательности(234) #1
Найти все натуральные 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 ;}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.02.2014, 17:59     Найти все натуральные N-значения числа,цифры в которых делают сторого увелечение последовательности(234)
Посмотрите здесь:

Найти все натуральные n-значные числа, цифры в которых образуют строго возрастающую последовательность C++
C++ Реализовать программу, которая находит все натуральные n-значные числа,цифры в которых образуют строго возрастающую последовательность(1234,2378,5789)
C++ Найти все трехзначные числа, в которых все цифры различны.
C++ Найти натуральные числа меньше N, цифры в записи которых образуют строго возрастающую последовательность
Найти все натуральные числа из промежутка от 1 до 200, у которых количество делителей равно N C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
fishec
 Аватар для fishec
118 / 118 / 30
Регистрация: 07.09.2013
Сообщений: 337
19.02.2014, 18:06     Найти все натуральные N-значения числа,цифры в которых делают сторого увелечение последовательности(234) #2
Я так понял, что нужно найти все N-значные числа(количество цифр в которых равно N. N вводится с клавиатуры) ?
westSCUL
0 / 0 / 0
Регистрация: 13.02.2014
Сообщений: 10
19.02.2014, 18:12  [ТС]     Найти все натуральные N-значения числа,цифры в которых делают сторого увелечение последовательности(234) #3
Цитата Сообщение от fishec Посмотреть сообщение
Я так понял, что нужно найти все N-значные числа(количество цифр в которых равно N. N вводится с клавиатуры) ?
так точно)
Amandosov
Знаток
156 / 156 / 65
Регистрация: 18.11.2012
Сообщений: 411
Записей в блоге: 2
19.02.2014, 18:20     Найти все натуральные N-значения числа,цифры в которых делают сторого увелечение последовательности(234) #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;
}
fishec
 Аватар для fishec
118 / 118 / 30
Регистрация: 07.09.2013
Сообщений: 337
19.02.2014, 18:26     Найти все натуральные N-значения числа,цифры в которых делают сторого увелечение последовательности(234) #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;
}
westSCUL
0 / 0 / 0
Регистрация: 13.02.2014
Сообщений: 10
19.02.2014, 18:44  [ТС]     Найти все натуральные N-значения числа,цифры в которых делают сторого увелечение последовательности(234) #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.
fishec
 Аватар для fishec
118 / 118 / 30
Регистрация: 07.09.2013
Сообщений: 337
19.02.2014, 18:46     Найти все натуральные N-значения числа,цифры в которых делают сторого увелечение последовательности(234) #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 подходит к условию или нет?
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
19.02.2014, 18:50     Найти все натуральные N-значения числа,цифры в которых делают сторого увелечение последовательности(234) #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;
}
westSCUL
0 / 0 / 0
Регистрация: 13.02.2014
Сообщений: 10
19.02.2014, 18:51  [ТС]     Найти все натуральные N-значения числа,цифры в которых делают сторого увелечение последовательности(234) #9
Цитата Сообщение от fishec Посмотреть сообщение
Вот в этом цикле то, о чем ты говоришь, то есть проверка цифр путем поиска остатка при делении на 10 и целочисленного деления на 10


Добавлено через 1 минуту
А число 235 подходит к условию или нет?
нет,я так понял, от учителя,что строго увеличение на +1 .ну или число 567, каждое число после 5 увеличивается на 1
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
19.02.2014, 18:57     Найти все натуральные N-значения числа,цифры в которых делают сторого увелечение последовательности(234) #10
Цитата Сообщение от westSCUL Посмотреть сообщение
я так понял, от учителя,что строго увеличение на +1
тогда была бы арифметическая прогрессия с разностью 1, а строго возрастающая последовательность - это когда каждый следующий элемент обязательно больше предыдущего (не меньше и не равен ему).
westSCUL
0 / 0 / 0
Регистрация: 13.02.2014
Сообщений: 10
19.02.2014, 19:39  [ТС]     Найти все натуральные N-значения числа,цифры в которых делают сторого увелечение последовательности(234) #11
Цитата Сообщение от easybudda Посмотреть сообщение
тогда была бы арифметическая прогрессия с разностью 1, а строго возрастающая последовательность - это когда каждый следующий элемент обязательно больше предыдущего (не меньше и не равен ему).
А можешь объяснить пожалуйста тогда,что в моей программе не так? Или я вообще не то начал делать? Прост я начал делать,как учитель сказал и понял, что число "двести тридцать четыре" после деления по модулю должно выводиться так :
Введите число
234
a=2
b=3
c=4
fishec
 Аватар для fishec
118 / 118 / 30
Регистрация: 07.09.2013
Сообщений: 337
19.02.2014, 20:02     Найти все натуральные N-значения числа,цифры в которых делают сторого увелечение последовательности(234) #12
Судя по задаче, тут не надо выводить ничего для конкретного числа. Может быть учитель просто привел пример, как разделить число на цифры? Делением и остатком..
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.02.2014, 22:06     Найти все натуральные N-значения числа,цифры в которых делают сторого увелечение последовательности(234)
Еще ссылки по теме:

C++ Напечатать все значения n, при которых все числа последовательности будут не меньше а
C++ Найти все четырехзначные числа, у которых все цифры различны

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

Или воспользуйтесь поиском по форуму:
Amandosov
Знаток
156 / 156 / 65
Регистрация: 18.11.2012
Сообщений: 411
Записей в блоге: 2
19.02.2014, 22:06     Найти все натуральные N-значения числа,цифры в которых делают сторого увелечение последовательности(234) #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
Yandex
Объявления
19.02.2014, 22:06     Найти все натуральные N-значения числа,цифры в которых делают сторого увелечение последовательности(234)
Ответ Создать тему
Опции темы

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