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

рекурсивный перебор системы счисления - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Возвратить object в экспортируемой функции dll http://www.cyberforum.ru/cpp-beginners/thread816919.html
Добрый день. есть функция в dll, которая использует сторонние tlb (они подключены в h): extern "C" _declspec(dllexport) int Material() //чем заменить int { IMaterial** Materials...
C++ Нужно написать программу преобразующую данные в машинный вид Нужно написать маленькую программку которая преобразует разные типы данных в машинный код (двоичной системе счисления)..... Тоесть с клавиатуры вводим слово оно преобразуется в вид который... http://www.cyberforum.ru/cpp-beginners/thread816908.html
дана строка, изображающая целое положительное число. Вывести сумму цифр этого числа. Строка должна вводиться с клавиатуры. C++
Будьте добры,помогите с решением задачи: дана строка, изображающая целое положительное число. Вывести сумму цифр этого числа. Строка должна вводиться с клавиатуры.
Программа выдающая число с обратным порядком цифр C++
Составить программу, воспринимающую на входе целое четырехразрядное десятичное число и выдающую на выходе четырехразрядное число с обратным порядком десятичных цифр. Например: 1984 -> 4891. Указание:...
C++ Ошибка заполнения динамического двумерного массива http://www.cyberforum.ru/cpp-beginners/thread816884.html
При заполнении массива mas происходит выход за границы массива. По ходу исполнения программы данные записываются в ячейки и т.д. Судя по всему, программа не выходит своевременно из цикла (j=0; i<n;...
C++ Наследование классов #include "stdafx.h" #include <stdio.h> #include <conio.h> class PARENT { public: void method1(){this->method2();}; void method2(){_tprintf(_TEXT("PARENT::method2\n"));}; }; подробнее

Показать сообщение отдельно
Tolyas
0 / 0 / 0
Регистрация: 18.10.2011
Сообщений: 16

рекурсивный перебор системы счисления - C++

24.03.2013, 11:19. Просмотров 348. Ответов 3
Метки (Все метки)

Задача: вводятся два числа от 1 до 6 (n и m)
n - количество цифр
m - порядок системы счисления
нужно вывести все варианты в столбец.
например

Input
2 3
Output
1 1
1 2
1 3
2 1
2 2
2 3
3 1
3 2
3 3


Input
3 3
Output
1 1 1
1 1 2
1 1 3
1 2 1
1 2 2
1 2 3
1 3 1
1 3 2
1 3 3
2 1 1
2 1 2
2 1 3
2 2 1
2 2 2
2 2 3
2 3 1
2 3 2
2 3 3
3 1 1
3 1 2
3 1 3
3 2 1
3 2 2
3 2 3
3 3 1
3 3 2
3 3 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
36
37
38
39
40
#include <iostream>
#include <cmath>
#include <stack>
#include <string>
 
using namespace std;
 
short n,m;
 
void f (long i, long max)
{
    stack <short> a;
    if (i<max)
    {   
        long r=i;
        //cout<<max<<"="<<i+1<<":";
        for(short j=0;j<n;j++)
        {
            a.push(r%m+1);
            r/=m;
        }
        for (short j=n-1;j>=0;j--)
        {
            cout<<a.top()<<" ";
            a.pop();
        }
        cout<<endl;
        f(i+1,max);
    }
}
 
int main()
{
    cin>>n>>m;
    long t=0;
    long max=0;
    max=pow((double)m,n);
    f(t,max);
    return 0;
}
где-то на 3200 - 3600 переборе выскакивает Run-Time Error. Подскажите в чем может быть ошибка.
Заранее спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru