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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.04.2014, 21:51   #81
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Эх да..
Код:
#include <stdio.h>

int b[40]={1}, n[40], x, m=0, i=0, k=1, f=0; // с типами без меня

int main()
{
    scanf("%d", &x);
    printf("%d\n", x);
    
    // файлы тоже без меня
    while (x > m)
    {
        k+=f;
        f=k-f;
        b[++i]=k;
        n[i]=m+1;
        m+=k;
    }

    while (i > 0)
    {
        printf("%d ", x);
        f = 0;
        x-=n[i]-1;
        while (x > 0)
        {
            for (k=i; k > 0 && x < b[k]; k--);
            f+=b[k-1];
            x-=b[k];
        }
        x = n[--i]+f-1;
    }
    return 0;
}
Poma][a вне форума Ответить с цитированием
Старый 14.04.2014, 16:51   #82
kostan3
- Дорогой, а ты ку
Форумчанин
 
Регистрация: 06.10.2012
Сообщений: 181
По умолчанию

еееееееееееееееееееееееее!!!!!!!!! у меня есть код с++ теперь работы до вечера
Код:
#include <fstream>
using namespace std;
int b[40], n[40], x, m=0, i=0, k=1, f=0;
int main()
{
fstream s("input.txt"), q("output.txt",2);
    s>>x;
 b[0]=1;
    while (x > m)
    {
        k+=f;
        f=k-f;
        b[++i]=k;
        n[i]=m+1;
        m+=k;
    }

    while (i > 0)
    {
        q<<x<<" ";
        f = 0;
        x-=n[i]-1;
        while (x > 0)
        {
            for (k=i; k > 0 && x < b[k]; k--);
            f+=b[k-1];
            x-=b[k];
        }
        x = n[--i]+f-1;
    }
    return 0;
}
Размер кода: 288
kostan3 вне форума Ответить с цитированием
Старый 14.04.2014, 22:01   #83
kostan3
- Дорогой, а ты ку
Форумчанин
 
Регистрация: 06.10.2012
Сообщений: 181
По умолчанию

Код:
#include <fstream>
int b[40], n[40], x,k=1, m=0, i=0, f=0;
main()
{
std::fstream s("input.txt"), q("output.txt",2);
 b[0]=1;
    for (s>>x;x > m;)
    {
        k+=f;
        f=k-f;
        b[++i]=k;
        n[i]=m+1;
        m+=k;
    }

    while (i > 0)
    {
        q<<x<<" ";
        f = 0;
        x-=n[i]-1;
        while (x > 0)
        {
            for (k=i; k > 0 && x < b[k]; k--);
            f+=b[k-1];
            x-=b[k];
        }
       x=n[--i]+f-1;
    }
}
Размер кода: 263
kostan3 вне форума Ответить с цитированием
Старый 14.04.2014, 22:04   #84
kostan3
- Дорогой, а ты ку
Форумчанин
 
Регистрация: 06.10.2012
Сообщений: 181
По умолчанию

Код:
#include <fstream>
int b[40], n[40], x,k=1, m=0, i=0, f=0;
main()
{
std::fstream s("input.txt"), q("output.txt",2);
 b[0]=1;
    for (s>>x;x > m;)
    {
        k+=f;
        f=k-f;
        b[++i]=k;
        n[i]=m+1;
        m+=k;
    }

    for(;i > 0;x=n[--i]+f-1)
    {
        q<<x<<" ";
        f = 0;
        x-=n[i]-1;
        while (x > 0)
        {
            for (k=i; k > 0 && x < b[k]; k--);
            f+=b[k-1];
            x-=b[k];
        }
    }
}
262
kostan3 вне форума Ответить с цитированием
Старый 14.04.2014, 22:04   #85
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

kostan3, не надо каждым уменьшением длины форум засорять. Похвастаешься потом, в самом конце
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 14.04.2014, 22:25   #86
kostan3
- Дорогой, а ты ку
Форумчанин
 
Регистрация: 06.10.2012
Сообщений: 181
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
kostan3, не надо каждым уменьшением длины форум засорять. Похвастаешься потом, в самом конце
если обратить внимание на то что я перешёл от 388 до 363
(опустив 25 символов) то это ещё по-божески
Код:
#include <fstream>
int b[40], n[40], x,k=1, m=0, i=0, f=0;
main()
{
std::fstream s("input.txt"), q("output.txt",2);
 b[0]=1;
    for (s>>x;x > m;)
    {
        k+=f;
        f=k-f;
        b[++i]=k;
        n[i]=m+1;
        m+=k;
    }

    for(;i > 0;x=n[--i]+f-1)
    {
        q<<x<<" ";
        f = 0;
        x-=n[i]-1;
        for(;x > 0;f+=b[k-1],x-=b[k]) for(k=i; k > 0 && x < b[k]; k--);
    }
}
259

Последний раз редактировалось kostan3; 14.04.2014 в 22:28.
kostan3 вне форума Ответить с цитированием
Старый 14.04.2014, 22:41   #87
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Эх да.. убери = 0..
Код:
 k+=f;
        b[++i]=k;
вроде можно, как b[++i]= k += f;
Poma][a вне форума Ответить с цитированием
Старый 14.04.2014, 22:52   #88
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
m=0, i=0, f=0;
Если они глобальные может не нужно их нулями инициализировать?
Сократишь еще убрав равно и 0.
По крайне мере GCC со мной согласен.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.04.2014, 22:56   #89
kostan3
- Дорогой, а ты ку
Форумчанин
 
Регистрация: 06.10.2012
Сообщений: 181
По умолчанию

Цитата:
Сообщение от Poma][a Посмотреть сообщение
Эх да.. убери = 0..
Код:
 k+=f;
        b[++i]=k;
вроде можно, как b[++i]= k += f;
нули я естественно пытоался убрать не сработало ,
Код:
b[++i]= k += f;
так можно но показывает вронг

Цитата:
Сообщение от Stilet Посмотреть сообщение
Если они глобальные может не нужно их нулями инициализировать?
Сократишь еще убрав равно и 0.
По крайне мере GCC со мной согласен.
Код:
Time limit exceeded 	13
Код:
#include <fstream>
int b[40], n[40], x,k=1, m=0, i=0, f=0;
main(){
std::fstream s("input.txt"), q("output.txt",2);
 b[0]=1;
    for (s>>x;x > m;k+=f,f=k-f,b[++i]=k,n[i]=m+1,m+=k);
    for(;i > 0;x=n[--i]+f-1){ q<<x<<" "; f = 0; x-=n[i]-1; for(;x > 0;f+=b[k-1],x-=b[k]) for(k=i; k > 0 && x < b[k]; k--); }
}
257

Последний раз редактировалось Stilet; 14.04.2014 в 23:13.
kostan3 вне форума Ответить с цитированием
Старый 14.04.2014, 23:15   #90
kostan3
- Дорогой, а ты ку
Форумчанин
 
Регистрация: 06.10.2012
Сообщений: 181
По умолчанию

Код:
#include <fstream>
int b[40], n[40], x,k=1, m=0, i=0, f=0;
main(){
std::fstream s("input.txt"), q("output.txt",2);
    for (s>>x;x > m;k+=f,f=k-f,b[++i]=k,n[i]=m+1,m+=k);
    for(b[0]=1;i > 0;x=n[--i]+f-1){ q<<x<<" "; f = 0; x-=n[i]-1; for(;x > 0;f+=b[k-1],x-=b[k]) for(k=i; k > 0 && x < b[k]; k--); }
}
256
kostan3 вне форума Ответить с цитированием
Ответ


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