Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.12.2010, 12:39   #1
agent007
Пользователь
 
Регистрация: 06.07.2010
Сообщений: 53
Вопрос

Собственно есть такая задача:
В городе Альфа общепринята p-ичная система счисления, а номера троллейбусных билетов состоят из 2k разрядов. Билет считается счастливым, если сумма первых k-разрядов равна сумме последних разрядов.
Вот реализация на си:
Код:
#include <fstream>
#include <iostream> 
void main()
{
    int N[2][50000];
	long Ntot;
	int s,s_,i,k,k_;
    int p;
    ofstream fout("output.txt"); 
    ifstream fin("input.txt");
	/*printf("Vvedite p, k");
	scanf("%d",&p);
	scanf("%d",&k);*/
    cin >> p;
    cin >> k;
    for(int s=0; s<=k*(p-1); s++)
        {
        N[0][s]=1;
        }
	for(k_ = 2; k_ <= k; k_++)
        {
        for(s = 0; s <= k*(p-1); s++)
            {
            //N[k_][s]=0;
            //N[1][s]=1;
            N[1][s]=0;
            for(i = 0; i <= (p-1); i++)
                {                            
                if((s-i>=0)&&((s-i)<=(k_-1)*(p-1)))
                    {
                     //N[k_][s]+=N[k_-1][s-i];
                    N[1][s]=N[1][s]+N[0][s-i];
                    }
                }
            //N[0][s-i]=N[1][s-i];
            N[0][s-i]=N[1][s-i];
            /*printf("k_= %d, s=%d   :N: %d\n",k_,s,N[1][s]);*/
            fout <<"k_= "<<k_<<"s= "<< s <<":N: " <<N[1][s];
            }

        }                
    Ntot=0;
        for(s=0;s<=k*(p-1);s++)
        {
        printf("   --- %d\n",N[1][s]);
        Ntot=Ntot+(N[1][s]*N[1][s]);
        }
        printf("Total %d\n",Ntot);
        fin.close();
        fout.close();
}
Во-первых что то не так с файловым выводом вводом.
И главный вопрос, программа валится на тестах, если ввести допустим 4 4 то всё ещё нормально, но если 10 3 то происходят непонятки, помогите в чём ошибка?

временно вместо fcin писал cin и т.д.

Неужели никто примерно не знает в чём трабла?

Последний раз редактировалось Stilet; 14.12.2010 в 13:37.
agent007 вне форума Ответить с цитированием
Старый 13.12.2010, 22:45   #2
ACE Valery
Сама себе режиссер
Старожил
 
Аватар для ACE Valery
 
Регистрация: 27.04.2007
Сообщений: 3,365
По умолчанию

Трабла в коде.
Цитата:
но если 10 3 то происходят непонятки
Какие именно непонятки происходят?
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
ACE Valery вне форума Ответить с цитированием
Старый 14.12.2010, 00:00   #3
agent007
Пользователь
 
Регистрация: 06.07.2010
Сообщений: 53
По умолчанию

Результат мегааццко непонятное число, хотя на паскале всё гуд

что то не гуд с алгоритмом самим, помогите пожалуйста

Алё народ, кто знает где баг в алгоритме?

Последний раз редактировалось Stilet; 15.12.2010 в 09:13.
agent007 вне форума Ответить с цитированием
Старый 15.12.2010, 09:14   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну а файл то где?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.12.2010, 12:35   #5
agent007
Пользователь
 
Регистрация: 06.07.2010
Сообщений: 53
По умолчанию

Да не суть важна в выводе, суть в неправильной работе алгоритма, гдето я что то накосячил а что хз
При вводе 10 3 результат: 55252, а тут результат вообще муть какаято, попробуйте у себя скомпилировать. Какой макс. размера численный тип в СИ ? long long ?
agent007 вне форума Ответить с цитированием
Старый 20.12.2010, 11:30   #6
agent007
Пользователь
 
Регистрация: 06.07.2010
Сообщений: 53
По умолчанию

что я хотел спросить так это про типы, да ладно сам уже давно разобрался
agent007 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
про билеты:) Agira Microsoft Office Excel 2 04.07.2010 16:26
Счастливые билеты [реализация с while..do] Dj_Leff Помощь студентам 14 01.04.2010 22:38
Рекурсия. Счастливые билеты. k1r1ch Паскаль, Turbo Pascal, PascalABC.NET 4 21.10.2009 18:47
счастливые числа и полиндромы помогите!!! starlet Помощь студентам 2 16.03.2009 09:23