Шешімін таппаған есеп!

151 рет қаралған

Бұл есеп әлі шешімін таппаған, бірақ өте қызықты, егер кімде де кім осы есепті шығарса, оған лайық сыйақымыз да бар! сондықтан ойланып көріңіздер!

Есептің қойылымы:

Сізде екі амал бар:

1. Егере сан (натурал сандар)  тақ сан болса, онда оны 3 ке көбейтесіз де 1 ді қосасыз.

2.Егер сан жұп сан болса, онда оны 2-ге бөлесіз.

жоғардағы амалды кезек- кезек қолдануға болады.

мысалы:
1.   7 (тақ сан,3 ке көбейтесіз де 1 ді қосасыз)—>22(жұп сан, 2-ге бөлесіз)—>11(тақ сан,3 ке көбейтесіз де 1 ді қосасыз  . жалғастра беремыз осылай)—>17—>13—>5—>1;

2.   12—>3—>5—>1;

Тұжырым мынадай: сіз мейлі қандай сан алмаыңыз, жоғардағы екі амалды алма кезек пайдалансақ, барлық сандар 1 -ге жинақталады.

осы тұжырым дұрыс па?

дәлеліңіз бар болса, хат жазыңыз:   manat.mustafa@gmail.com

осы есепті шешеудің компютерге арналған программасы:(бірақ ол дәлел емес)

rsetcurs := proc(path::string, cvalue, dvalue, levelp2)
 global lda, depth, c, fd, mylist, dlevel, outfile, mxng, mxlg;
 #текст
  if mxlg < nops(mylist) or mxng < cvalue then
    RETURN(NULL)
  end if;
 #келесі l.d.a. елементты e стакка қой
 mylist := [op(mylist), [path, levelp2, cvalue, dvalue, evalf(1/dvalue)]];
 #an l.d.a. element can be a leaf, a ":b" parent or an "s" parent
 #the pattern of the recursive calls at each recursive invocation tracks
 #progress at each level to ensure complete exhaustion of the possibilities
 #look for children of cvalue itself
  if `mod`(cvalue,3) = 0 then
    densout(path)
  elif `mod`(cvalue,3) = 1 then
 #it might be a b-step parent
    rsetcurs(cat(path,"b"),4/3*cvalue-1/3,4*dvalue,levelp2+2);
  else
 #it must be an s-step parent
    rsetcurs(cat(path,"s"),2/3*cvalue-1/3,2*dvalue,levelp2+1);
  end if;
 #look for same possibilites for cvalue + dvalue
  if `mod`(cvalue+dvalue,3) = 0 then
    densout(path)
  elif `mod`(cvalue+dvalue,3) = 1 then
    rsetcurs(cat(path,"b"),4/3*cvalue+4/3*dvalue-1/3,4*dvalue,levelp2+2);
  else
    rsetcurs(cat(path,"s"),2/3*cvalue+2/3*dvalue-1/3,2*dvalue,levelp2+1);
  end if;
 #look for same possibilites for cvalue + 2*dvalue
  if `mod`(cvalue+2*dvalue,3) = 0 then
    densout(path)
  elif `mod`(cvalue+2*dvalue,3) = 1 then
    rsetcurs(cat(path,"b"),4/3*cvalue+8/3*dvalue-1/3,4*dvalue,levelp2+2);
  else
    rsetcurs(cat(path,"s"),2/3*cvalue+4/3*dvalue-1/3,2*dvalue,levelp2+1);
  end if;
 #pop that exhausted l.d.a. element
  mylist := subsop(nops(mylist) = NULL,mylist);
  RETURN(NULL);
end proc;

немесе, Интернетте отырып сіз қалаған санды тексергіңіз келсе: сіге керек n санын енгізіңіз: жауабын аласыз:

n:

Сандық жүйе:

10

2

3

16

Асқар Жұмаділ­даев:Мәселе – арбада емес, «есекте» Шешімін таппаған есеп: Голдбах жорамалы

Пікір жазу

Пікір жазу үшін сіздің тіркелуіңіз қажет.