Avatar billede jesper-moeller Nybegynder
08. oktober 2005 - 14:10 Der er 21 kommentarer og
1 løsning

Weekend Hovedbrud #2

Forskellige tal besider mange forskellige egenskaber...

Et af disse er tallet 48, der besider den sjove egenskab, at lægge du 1 til det får du et kvadrattal..det i sig selv er jo ikke særligt specielt.... Men deler vi tallet 48 i to og lægger 1 til, får vi også et kvadrattal.
altså 48+1=48, 48=7x7
og 48:2=24, 24+1=25, 25=5x5
Der findes uendeligt mange af  tal med netop denne egenskab.... men 48 er det minste af disse....

Nu er jeg en beskeden person, og forventer ikke det umulige....
så vil nøjes med at spørge...

Hvad er det næste tal i rækken med denne egenskab ?????
Avatar billede jesper-moeller Nybegynder
08. oktober 2005 - 14:12 #1
HOV...**G**


Skulle ha stået...

48+1=49,  .... 49=7x7

48:2=24, ..... 24+1=25, ..... 25=5x5

Sorry ;-)
Avatar billede roenving Novice
08. oktober 2005 - 14:44 #2
Hrm, der er godt nok langt mellem dem, men de to næste tal, jeg fandt var 1680 og 57120 !-)

1681 ~ 41; 841 ~ 29
57121 ~ 239; 28561 ~ 169

-- men egentlig ikke så god en weekend-hovedbrud, for det kræver jo bare regnekraft !-)
Avatar billede jesper-moeller Nybegynder
08. oktober 2005 - 15:12 #3
roenving *S*....

Jeps...1680... (man skal ret højt op)

Nu er meningen med et hovedbrud jo egenligt at man skal bruge sit hoved til at regne den ud...*S*...ikke sin PC...*SG* ;-)

Men et svar er et svar så du vinder...*S*
Avatar billede roenving Novice
08. oktober 2005 - 15:32 #4
*lol*

-- det var præcis anken, for den kan ikke løses uden at du regner en masse, og det giver kun mening uden at programmere, hvis man var en 1700-tals matematiker !-)

-- men når man så når til programmeringen er det rasende simpelt:

<script language="javascript" type="text/javascript">
window.onload = function(){
  var txt = "";
  for(i=80;100001>i;i+=2){
    if(chSqr(i+1) && chSqr(i/2+1))
      txt += (i+1) + " ~ " + Math.sqrt(i+1) + "; "+ (i/2+1) + " ~ " + Math.sqrt(i/2+1) + "<br>";
  }
  document.getElementById('minDiv').innerHTML = txt;
}
function chSqr(num){
  var sq = Math.sqrt(num);
  return sq == Math.floor(sq);
}
</script>

-- og ovenstående løstes i min editor (Stone's, som bruger IE !-) på lige godt 1/3 sekund, mens Opera skulle op i det dobbelte på onload, men kun ca. 1/4 sekund på en action ...

-- så opgaven er egentlig ikke så udfordrende !o]

-- men velbekomme '-)

PS. Jeg checkede lige at det næste, der kommer ligger helt ude i 1.940.448 ...
Avatar billede jesper-moeller Nybegynder
08. oktober 2005 - 15:38 #5
*S*

Vi fik den slags opgaver i skolen fra 7/8 klasse og op af vores geniale/bindegale mattematiklære...
På alle prøver lavede han en ekstra opgave... som hvis vi løste den gav 13...uanset om vi lavede andre af opgaverne....
Men det var Længe før Vic20 var kommet...*S*
(Det var sjældent nogen scorde 13 *G*...men det skete)

Og jag.... der er temligt lang melle tallene i rækken... *S*

Men jeg lover dig at finde en frem der ikke er så lige til at orden maskinelt ;-)
Avatar billede roenving Novice
08. oktober 2005 - 15:48 #6
-- du skal være velkommen (men den knækker vi også !-)

-- og tak for point ;~}
Avatar billede borrisholt Novice
09. oktober 2005 - 16:11 #7
jesper-moeller>> Er der ikke en måde at beregne dem på uden brute-force. Ike for at ringeagte roenving's løsning, jeg ville selv havde gjort det samme. Jeg tænkte bare på om hvordan man gør det "rigtigt".

Og hvad hedder denne slags tal i øvrigt ?
Avatar billede roenving Novice
09. oktober 2005 - 16:25 #8
>>borrisholt

-- det kan jeg ikke se er muligt, for reglen hedder jo:

Find de tal a i naturlige tal, hvorom det gælder at &#8730;(a+1) og &#8730;(a/2+1) også tilhører de naturlige tal ...

-- og hvis du kigger på rækken 48, 1680, 57120, 1.940.448 vil du se, at den ser nogenlunde regelmæssig ud (faktor 35, 34, 33.97), men kan det bruges til noget alvorligt ?-)
Avatar billede roenving Novice
09. oktober 2005 - 16:26 #9
Og html-entiteten &#8730; er kvadratrodstegnet !-)
Avatar billede jesper-moeller Nybegynder
09. oktober 2005 - 16:30 #10
borrisholt

Jamen løsningen roenving kom med er sådanset bare regne metoden omsat til et script... Forskellen er det er lang lettere på maskinen end på et stykke parpir, da der skal en del udregninger til for at finde de tal der opfylder opfylder de betingelser der er afsat...

De tal jeg spurgte efter heder (så vidt jeg ved) ikke noget specielt... det er blot nogle tal med den egenskab at lægger du et til tallet får du et kvadrat tal...og læger du et til halvdelen af tallet får du også et kvadrattal... roenvings løsning chekker (hvis jeg har fåstået hans script korekt) om et tal har disse egenskaber... hvis ikke tager den næstte tal..osv osv...... Samme fremgangsmåde kan du bruge på et stykke parpir (eller i hovedet hvis du er super geek)...Men det tager tid *S* ...
Den slags tal er der MEGET få af....og der er LANGT mellem dem som roenving viste
48 - 1680 - 57120 - 1.940.448
Avatar billede jesper-moeller Nybegynder
09. oktober 2005 - 16:34 #11
Det kan garenteret stilles op i en fanzy mattematikformel.... men det vil nok stadigt kræve en del regnearbedje
Avatar billede borrisholt Novice
09. oktober 2005 - 16:41 #12
Jesper>>Kan du gøre det .. Stille en formel op der kan beregne det næste nummer ? Eller kan du også "bare" brute force
Avatar billede jesper-moeller Nybegynder
09. oktober 2005 - 16:57 #13
borris >>
Da jeg i sintid løste opgaven gjorde jeg det  på papir som beskrevet (Det tog noget tid)... mener jeg senere fik en formel der skulle kunne klare det...men den husker jeg ikke lige PT... men skal se om jeg kan finde den...
Avatar billede borrisholt Novice
09. oktober 2005 - 17:08 #14
Tak her kommer lige rækken mellem 1 og 2147483647

48
1680
57120
1940448
65918160

beregnet på 546436 ms på en p3 700 Mhz :D
Avatar billede roenving Novice
09. oktober 2005 - 17:21 #15
Spøjst, at den er så regelmæssig og alligevel uregelmæssig ...

Opløsning i primtals faktorer:

48 = 2^4 * 3
1680 = 2^4 * 3 * 5 * 7
57120 = 2^5 * 3 * 5 * 7 * 17
1940448 = 2^5 * 3 * 17 * 29 * 41
65918160 = 2^4 * 3^5 * 5 * 3391 ...

Faktor: 35, 34, 33,971428571428571428571428571429, 33,970588235294117647058823529412

-- det må i hvert fald kunne lade sig gøre at lave en brute-force-ting, som benytter sig af den minimale ændring i faktorerne !-)
Avatar billede borrisholt Novice
09. oktober 2005 - 22:11 #16
En anden intersant ting er hvis du kigger på greatest common divisor (GCD) mellem tallene, eller differencen mellem dem, får man som følger :

GCD(48, 1680) = 48
GCD(1680, 57120) = 1680
GCD(57120, 1940448) = 1632
GCD(1940448, 65918160) = 57072

Man ser at GCD(57120, 1940448) = 1632 er en horreunge som bryder rækken, som ellers er identisk med vores talrække.

Alle tallene, både dem fra tal rækken, deres indbyrdes diffrence samt GCD tallene har en og samme GCD nemlig 48 = (2^4) * 3.

Så en kraftig optimering vil være kun at chekke på hvert 48. tal i stedet for hvert

JEns B
Avatar billede roenving Novice
09. oktober 2005 - 22:22 #17
Det er godt nok sandt, men vil det blive ved at være sådan ?-)

-- jvf. min primfaktor-opløsning ovenfor, hvor der ikke er et 5-tal med i den første og 4, men ellers ...

-- iøvrigt er det en indlysende ting, at der skal findes to ulige tal hvis forskel er en brøkdel mindre end kvadratrod 2, nemlig de to rødder, vi eftersøger !-)
Avatar billede borrisholt Novice
09. oktober 2005 - 22:40 #18
Jeg har lige sat min server til at regne lidt på tingene, jeg regner nu op  til 922337203685477. Den sender mig en mail når den er færdig :D

Så må vi se hvad det regne stykke siger.

Det kunne være rart om nogen kunne komme med en navn på denne talrække.

Jens B
Avatar billede roenving Novice
09. oktober 2005 - 22:47 #19
Den har sikkert navn efter en eller anden 1700-tals-matematiker, som var den første, der fandt 1680 !-)
Avatar billede jesper-moeller Nybegynder
09. oktober 2005 - 23:05 #20
Sjovt hvilken tråd dette har medført...


Jeg syntes der er en forbløfende lighed med Fibo tal ;-)
Mon ikke de høre til den familie ??
Avatar billede roenving Novice
09. oktober 2005 - 23:13 #21
Jo, jeg kommer også til at tænke på Fibonacci hver gang, men de ser jo ligesom lidt anderledes ud !-)
Avatar billede jesper-moeller Nybegynder
09. oktober 2005 - 23:28 #22
Jeps.... men "ideen" er den samme... med familie mener jeg feks....pattedyr vs. fisk .... to forskellige familier...*S*
Lucas tal er af samme støbning.... uden af være fibotal ligner de ... og se ofte sammen med Fibo tal
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester