面白い動画が投稿されました。
こちらを実際にコーディングして求めていきたいと思います。
<?php
// 計算したい数を入力この場合は20200711
$num = 20200711;
//答えを格納する変数
$answer = "answer:".$num;
//求めたい数が1になるまで所定の操作を繰り返す
for (;;){
if ($num == 1) {//1になったら結果を出力
print $answer;
break;
} elseif ($num % 2 == 0) {//偶数
$num = $num / 2;
$answer = $answer."->".($num);
} else {//奇数
$num = ($num * 3) + 1;
$answer = $answer."->".($num);
}
}
?>
簡単ですね。
もしこの無限ループが暴走するような正の整数があれば世紀の大発見です。
動画では20桁の正の整数までにそのような数字はないそうです。
試しに21桁の数を入れた結果がこちらです。
(123,456,789,012,345,678,901、一垓二千三百四十五京…)
answer:1.2345678901235E+20->6.1728394506173E+19->3.0864197253086E+19->1.5432098626543E+19->7.7160493132716E+18->3.8580246566358E+18->1.9290123283179E+18->9.6450616415895E+17->4.8225308207948E+17->2.4112654103974E+17->1.2056327051987E+17->6.0281635259934E+16->3.0140817629967E+16->1.5070408814984E+16->7.5352044074918E+15->3.7676022037459E+15->1.1302806611238E+16->5.6514033056189E+15->2.8257016528094E+15->1.4128508264047E+15->4.2385524792141E+15->2.1192762396071E+15->1.0596381198035E+15->3.1789143594106E+15->1.5894571797053E+15->4.7683715391159E+15->2.384185769558E+15->7.1525573086739E+15->3.5762786543369E+15->1.0728835963011E+16->5.3644179815054E+15->2.6822089907527E+15->1.3411044953764E+15->6.7055224768818E+14->2.0116567430645E+15->1.0058283715323E+15->3.0174851145968E+15->1.5087425572984E+15->4.5262276718952E+15->2.2631138359476E+15->6.7893415078428E+15->3.3946707539214E+15->1.6973353769607E+15->5.0920061308821E+15->2.546003065441E+15->7.6380091963231E+15->3.8190045981616E+15->1.1457013794485E+16->5.7285068972423E+15->2.8642534486212E+15->1.4321267243106E+15->4.2963801729318E+15->2.1481900864659E+15->6.4445702593976E+15->3.2222851296988E+15->1.6111425648494E+15->4.8334276945482E+15->2.4167138472741E+15->7.2501415418224E+15->3.6250707709112E+15->1.8125353854556E+15->9.0626769272779E+14->4.531338463639E+14->1.3594015390917E+15->6.7970076954585E+14->3.3985038477292E+14->1.0195511543188E+15->5.0977557715938E+14->1.5293267314782E+15->7.6466336573908E+14->3.8233168286954E+14->1.1469950486086E+15->5.7349752430431E+14->1.7204925729129E+15->8.6024628645646E+14->4.3012314322823E+14->2.1506157161412E+14->1.0753078580706E+14->53765392903529->1.6129617871059E+14->80648089355294->40324044677647->1.2097213403294E+14->60486067016471->1.8145820104941E+14->90729100524707->2.7218730157412E+14->1.3609365078706E+14->4.0828095236118E+14->2.0414047618059E+14->1.020702380903E+14->51035119045148->25517559522574->12758779761287->38276339283862->19138169641931->57414508925794->28707254462897->86121763388692->43060881694346->21530440847173->64591322541520->32295661270760->16147830635380->8073915317690->4036957658845->12110872976536->6055436488268->3027718244134->1513859122067->4541577366202->2270788683101->6812366049304->3406183024652->1703091512326->851545756163->2554637268490->1277318634245->3831955902736->1915977951368->957988975684->478994487842->239497243921->718491731764->359245865882->179622932941->538868798824->269434399412->134717199706->67358599853->202075799560->101037899780->50518949890->25259474945->75778424836->37889212418->18944606209->56833818628->28416909314->14208454657->42625363972->21312681986->10656340993->31969022980->15984511490->7992255745->23976767236->11988383618->5994191809->17982575428->8991287714->4495643857->13486931572->6743465786->3371732893->10115198680->5057599340->2528799670->1264399835->3793199506->1896599753->5689799260->2844899630->1422449815->4267349446->2133674723->6401024170->3200512085->9601536256->4800768128->2400384064->1200192032->600096016->300048008->150024004->75012002->37506001->112518004->56259002->28129501->84388504->42194252->21097126->10548563->31645690->15822845->47468536->23734268->11867134->5933567->17800702->8900351->26701054->13350527->40051582->20025791->60077374->30038687->90116062->45058031->135174094->67587047->202761142->101380571->304141714->152070857->456212572->228106286->114053143->342159430->171079715->513239146->256619573->769858720->384929360->192464680->96232340->48116170->24058085->72174256->36087128->18043564->9021782->4510891->13532674->6766337->20299012->10149506->5074753->15224260->7612130->3806065->11418196->5709098->2854549->8563648->4281824->2140912->1070456->535228->267614->133807->401422->200711->602134->301067->903202->451601->1354804->677402->338701->1016104->508052->254026->127013->381040->190520->95260->47630->23815->71446->35723->107170->53585->160756->80378->40189->120568->60284->30142->15071->45214->22607->67822->33911->101734->50867->152602->76301->228904->114452->57226->28613->85840->42920->21460->10730->5365->16096->8048->4024->2012->1006->503->1510->755->2266->1133->3400->1700->850->425->1276->638->319->958->479->1438->719->2158->1079->3238->1619->4858->2429->7288->3644->1822->911->2734->1367->4102->2051->6154->3077->9232->4616->2308->1154->577->1732->866->433->1300->650->325->976->488->244->122->61->184->92->46->23->70->35->106->53->160->80->40->20->10->5->16->8->4->2->1
359回
長い!
しかし、重要な問題が初期値が1.2345678901235E+20となっていて精度が甘々です。
どうやら18桁までしか扱えないそうです。
これは改善が必要です。
色々調べましたが、PHPでは無理そう。。。
簡単にPHPを試すには⬇️

Online editor and compiler
Paiza.IO is online editor and compiler. Java, Ruby, Python, PHP, Perl, Swift, JavaScript... You can use for learning programming, scraping web sites, or writing...
コメント