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

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

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

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

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

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

Ага.. Проглядел..
Код:
var b,n: array[0..40] of Int64;
    x,m,i,k,f: Int64;
begin
  reset(input,'input.txt');
  read(x);
  rewrite(output,'output.txt');
  k:=1; b[0]:=1;
  repeat
    i := i+1;
    b[i]:=f+k;
    f:=k;
    k:=b[i];
    n[i] := m+1;
    m := m+k
  until m >= x;
  repeat
    Write(x,' ');
    f:=0;
    x := x - n[i]+1;
    repeat     
      k := i;
      while (k > 0) xor (x >= b[k]) do Dec(k);
      f := f + b[k-1];
      x := x - b[k]
    until x <= 0;
         
    x:=n[i-1]+f-1;
    Dec(i)
  until 0 = i
end.
325

Последний раз редактировалось Poma][a; 13.04.2014 в 15:45.
Poma][a вне форума Ответить с цитированием
Старый 13.04.2014, 19:50   #72
kostan3
- Дорогой, а ты ку
Форумчанин
 
Регистрация: 06.10.2012
Сообщений: 181
По умолчанию

Код:
var b,n: array[0..40] of Int64;
    x,m,i,k,f: Int64;
begin
  reset(input,'input.txt');
  read(x);
  Assign(Output,'output.txt');
  k:=1; b[0]:=1;
  repeat
    i := i+1;
    b[i]:=f+k;
    f:=k;
    k:=b[i];
    n[i] := m+1;
    m := m+k
  until m >= x;
  repeat
    Write(x,' ');
    f:=0;
    x := x - n[i]+1;
    repeat     
      k := i;
      while (k > 0) xor (x >= b[k]) do Dec(k);
      f := f + b[k-1];
      x := x - b[k]
    until x <= 0;
         
    x:=n[i-1]+f-1;
    i:=i-1
  until 0 = i
end.
Размер кода: 324
kostan3 вне форума Ответить с цитированием
Старый 13.04.2014, 20:25   #73
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Код:
var b,n: array[0..40] of Int64;
    x,m,i,k,f: Int64;
begin
  reset(input,'input.txt');
  read(x);
  Assign(Output,'output.txt');
  k:=1; b[0]:=1;
  repeat
    i := i+1;
    k :=f+k;
    f:=k-f;
    b[i]:=k;
    n[i] := m+1;
    m := m+k
  until m >= x;
  repeat
    Write(x,' ');
    f:=0;
    x := x - n[i]+1;
    repeat     
      k := i;
      while (k > 0) xor (x >= b[k]) do Dec(k);
      f := f + b[k-1];
      x := x - b[k]
    until x < 1;
         
    x:=n[i-1]+f-1;
    i:=i-1
  until 0 = i
end.
322
Твой ход
Poma][a вне форума Ответить с цитированием
Старый 13.04.2014, 20:39   #74
kostan3
- Дорогой, а ты ку
Форумчанин
 
Регистрация: 06.10.2012
Сообщений: 181
По умолчанию

Код:
var b,n: array[0..40] of Int64;
    x,m,i,k,f: Int64;
begin
  reset(input,'input.txt');
  read(x);
  Assign(Output,'output.txt');
  k:=1; b[0]:=1;
  repeat
    i := i+1;
    k :=f+k;
    f:=k-f;
    b[i]:=k;
    n[i] := m+1;
    m := m+k
  until m >= x;
  repeat
    Write(x,' ');
    f:=0;
    x := x - n[i]+1;
    repeat     
      k := i;
      while (k > 0) xor (x >= b[k]) do k:=k-1;
      f := f + b[k-1];
      x := x - b[k]
    until x < 1;
         
    x:=n[i-1]+f-1;
    i:=i-1
  until 0 = i
end.
322 (эх был бы код на с++ у меня бы были шансы потягаться с тобой)
kostan3 вне форума Ответить с цитированием
Старый 13.04.2014, 20:42   #75
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Там же BDA и я писал - циклы FOR подправить в #43. BDA даже написал как
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 13.04.2014, 20:54   #76
kostan3
- Дорогой, а ты ку
Форумчанин
 
Регистрация: 06.10.2012
Сообщений: 181
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Там же BDA и я писал - циклы FOR подправить в #43. BDA даже написал как
я не слепой но то что писал BDA не скработало хотя наверно я не правильно расставил скобки P.S а в каком посте он это писал?
kostan3 вне форума Ответить с цитированием
Старый 13.04.2014, 20:59   #77
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Код:
var b,n: array[0..40] of Int64;
    x,m,i,k,f: Int64;
begin
  reset(input,'input.txt');
  read(x);
  Assign(Output,'output.txt');
  k:=1; b[0]:=1;
  repeat
    i := i+1;
    k :=f+k;
    f:=k-f;
    b[i]:=k;
    n[i] := m+1;
    m := m+k
  until m >= x;
  repeat
    Write(x,' ');
    f:=0;
    x := x - n[i]+1;
    repeat   
      k := i;
      while (k > 0) xor (x >= b[k]) do Dec(k);
      f := f + b[k-1];
      x := x - b[k]
    until x < 1;
    i:=i-1;     
    x:=n[i]+f-1
     
  until 0 = i
end.
320

Цитата:
я не слепой но то что писал BDA не скработало хотя наверно я не правильно расставил скобки P.S а в каком посте он это писал?
ага-ага.. зрячий.. в 43 (в посте Аватара это, между прочим, говорилось..)
Poma][a вне форума Ответить с цитированием
Старый 13.04.2014, 21:03   #78
kostan3
- Дорогой, а ты ку
Форумчанин
 
Регистрация: 06.10.2012
Сообщений: 181
По умолчанию

Код:
#include <fstream>
using namespace std;
int main(){
  fstream s("input.txt"), q("output.txt",2);
  int b[41],n[41],x,m=0,i=0,j,k,f=0,g=1;
  s>>x;
  b[0]=1; n[0]=0;
  while(m<x){
  i++;
  b[i]=f+g;
  f=g;
  g=b[i];
  m+=g;
  n[i]=m-g+1;
}
for(j=i;j>1;j--){
q<<x<<" ";
f=0;
x-=n[j]-1;
while(x>0){
for(k=j;k>1;k--){
if(x>=b[k]){
f+=b[k-1];
x-=b[k];
break;
}
}
}
x=n[j-1]+f-1;
}
}
результат Time limit exceeded 1
//////////////////////////////////////////////////////////////////////////////////
Код:
#include <fstream>
using namespace std;
int main(){
  fstream s("input.txt"), q("output.txt",2);
  int b[41],n[41],x,m=0,i=0,j,k,f=0,g=1;
  s>>x;
  b[0]=1; n[0]=0;
  while(m<x){
  i++;
  b[i]=f+g;
  f=g;
  g=b[i];
  m+=g;
  n[i]=m-g+1;
}
for(j=i;j>1;j--){
q<<x<<" ";
f=0;
x-=n[j]-1;
while(x>0){
for(k=j;k>1;k--){
if(x>=b[k]){
f+=b[k-1];
x-=b[k];
break;
}
}
x=n[j-1]+f-1;
}
}
}
результат Time limit exceeded 1
/////////////////////////////////////////////////////////////////////////////
Код:
#include <fstream>
using namespace std;
int main(){
  fstream s("input.txt"), q("output.txt",2);
  int b[41],n[41],x,m=0,i=0,j,k,f=0,g=1;
  s>>x;
  b[0]=1; n[0]=0;
  while(m<x){
  i++;
  b[i]=f+g;
  f=g;
  g=b[i];
  m+=g;
  n[i]=m-g+1;
}
for(j=i;j>1;j--){
q<<x<<" ";
f=0;
x-=n[j]-1;
while(x>0){
for(k=j;k>1;k--){
if(x>=b[k]){
f+=b[k-1];
x-=b[k];
break;
}
x=n[j-1]+f-1;
}
}
}
}
результат 1 Wrong answer
Значит чтото не правильного в коде и опять же в циклах
kostan3 вне форума Ответить с цитированием
Старый 13.04.2014, 21:17   #79
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Охренеть
for(j=i;j>0;j--)
for(k=j;k>0;k--)
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 13.04.2014, 21:40   #80
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

kostan3
отладчик используй. Хватит надеяться на то, что задачу решат за тебя.
rrrFer вне форума Ответить с цитированием
Ответ


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