AndrisBB Ierakstīts Decembris 28, 2014 Share Ierakstīts Decembris 28, 2014 Taka sis ir 2015 gada "nulltas" nedelas uzdevums, tad izvelejos to saistiba ar nullem. Uzdevums ..................................... 1 000 000 ir liels un apals skaitlis, uzdevums ir atrast divus naturalus skaitlus a un b, kuru reizinajums ir tiesi viens miljons. Sakara ar to ka tema ir nulles, tad neviens no reizinatajiem nedrikst saturet 0. Noteikumi ................................... Drikst izmantot jebkuru programmesanas valodu Link to comment Share on other sites More sharing options...
Trix Decembris 28, 2014 Share Decembris 28, 2014 te būs 3 Link to comment Share on other sites More sharing options...
ggg97 Decembris 28, 2014 Share Decembris 28, 2014 (labots) 1 000 000 ir liels un apals skaitlis Apaļš tas ir tikai tad, ja nulles ir sinonīms bumbām. Liels, ja tas ir Eiro, vai sliktākajā gadījumā $. p.s. vins no reizinātājiem lielāks par 1000, otrs mazāks. Tālāk ar pielasīšanas (iterācijas, laikam) metodi. Neesmu programmētājs, karogs Jūsu rokās. Labots Decembris 28, 2014 - ggg97 Link to comment Share on other sites More sharing options...
Populārs ieraksts vvv Decembris 28, 2014 Populārs ieraksts Share Decembris 28, 2014 Bez nekādas programmēšanas: 64 x 15625 = 1000000 Ja kāds iedomājās, ka es iepriekš zināju atbildi, nē. Viss ir vienkāršāk: 1000000 = 10^6 = (2 x 5)^6 = 2^6 x 5^6 = 64 x 15625 8 Link to comment Share on other sites More sharing options...
eddyboi Decembris 28, 2014 Share Decembris 28, 2014 Vbscript - http://paste.ofcode.org/RuapMwb5P3GypYpgVHmyfq Link to comment Share on other sites More sharing options...
Vilx- Decembris 28, 2014 Share Decembris 28, 2014 (labots) Plus vēl varu piemetināt @@vvv atbildei, ka citu variantu nav, jo nevienam no abiem skaitļiem pirmreizinātājos nedrīkst būt vienlaicīgi gan 2, gan 5 - citādi dalīsies ar 10 un būs galā nulle. Man labāks uzdevums (tāds klasisks): Uztaisīt programmu, kura: Uz ekrāna izvada tikai un vienīgi "2015" (ne vairāk, ne mazāk). Ja šai programmai nomaina jebkuru vienu simbolu (pieliek/atņem/izmaina), tad tā joprojām izvada tikai un vienīgi "2015". (Šeit jāpiezīmē, ka simbols tiks nomainīts tikai tādā veidā, kas netraucēs programmu kompilēt/interpretēt) Labots Decembris 28, 2014 - Vilx- Link to comment Share on other sites More sharing options...
AndrisBB Decembris 28, 2014 Author Share Decembris 28, 2014 Japiekrit ka skaitli soreiz izvelejos nevisai veiksmigu, parak maz dazadu reizinataju, ka ari tas ir pietiekosi mazs, lai brute force butu effektivs. Nu nekas, japalielina grutibas pakape Link to comment Share on other sites More sharing options...
vvv Decembris 28, 2014 Share Decembris 28, 2014 Neesmu programmētājs. Programmēju tikai, cik uz saviem programmējamiem kalkulatoriem. Biedra Vilx uzdevumu taisītu tā - ta vienalga kāda programma, lai rezultātā sanāk 2015, a pieliek vienā vietā, kaut pirms rezultāta, "abs". Nezinu tik, vai tas "abs" ir uztverams kā viens simbols, ja nē, tad mans variants neder. AndrisBB, ļoti veiksmīgs piemērs, katrā ziņā interesants. Ja turpmāk liksi ko baigi sarežģītu un specifisku, būs interese mazāka par taviem uzdevumiem. Link to comment Share on other sites More sharing options...
eddyboi Decembris 28, 2014 Share Decembris 28, 2014 tas ir pietiekosi mazs, lai brute force butu effektivs Kā atrisināt tavu uzdevumu bez brute force? Padalies. 1 Link to comment Share on other sites More sharing options...
vvv Decembris 28, 2014 Share Decembris 28, 2014 Biedra Vilx piemērs: x:=(-2015) print abs(x) pamainam simbolu (izņemam mīnusu pirms 2015): x:=(2015) print abs(x) Link to comment Share on other sites More sharing options...
Vilx- Decembris 28, 2014 Share Decembris 28, 2014 (labots) @@vvv - nomaini "2015" pret "2014". Btw - kas par valodu? Labots Decembris 28, 2014 - Vilx- Link to comment Share on other sites More sharing options...
vvv Decembris 28, 2014 Share Decembris 28, 2014 Nesapratu, Vilx-. Kur tavā uzdevumā 2014? Valoda Casio basic, kas ir Casio programmējamos kalkulatoros. Link to comment Share on other sites More sharing options...
Vilx- Decembris 28, 2014 Share Decembris 28, 2014 Skaties, Tu devi programmu, kurai vienmēr vajadzētu izvadīt "2015" - pat tad, ja nomaina 1 simbolu: x:=(-2015) print abs(x) Es saku, ka tas neder - ja nomaina simbolu "5" pret "4", tad programma izvadīs "2014". Link to comment Share on other sites More sharing options...
Guest Decembris 28, 2014 Share Decembris 28, 2014 (labots) Kā atrisināt tavu uzdevumu bez brute force? Padalies. galvā nāk cikls ciklā, palielini vienu reizinātāju līdz 1000000 ar soli +1, un čeko vai reizinājums ir 1 000 000, un atbilst, kad sasniegts otrā cikla gals, tad palielinam otru reizinātāju par +1 un atkārtojam iekšējo ciklu un tā līdz atrodam vajadzīgos reizinātājus. pārlasijos... @@Vilx-, $x = '2015'; if ($x == '2015') { echo $x; } else { echo '2015'; } kaut kā tā? Labots Decembris 28, 2014 - Guest Link to comment Share on other sites More sharing options...
Vilx- Decembris 28, 2014 Share Decembris 28, 2014 (labots) @@kroop - Tas ir PHP? Nomaini echo $x;uz echo -$x; Labots Decembris 28, 2014 - Vilx- Link to comment Share on other sites More sharing options...
vvv Decembris 28, 2014 Share Decembris 28, 2014 (labots) kroop, biedrs eddyboi jau iedeva piemēru. Paskaidrojiet man, vai es pareizi saprotu jēdzienu "brute force" - tas ir atrisināt uzdevumu izejot cauri visiem iespējamiem variantiem, tas ir tieši tas, ko programmētāji dara, jo skaitļojamo mašīnu resurss ir milzīgs. Uztaisīt programmu, kura: Uz ekrāna izvada tikai un vienīgi "2015" (ne vairāk, ne mazāk). Ja šai programmai nomaina vienu simbolu (pieliek/atņem/izmaina), tad tā joprojām izvada tikai un vienīgi "2015". (Šeit jāpiezīmē, ka simbols tiks nomainīts tikai tādā veidā, kas netraucēs programmu kompilēt/interpretēt) Vilx-, tev bija uzdevums. Kas manā piemērā neatbilst tava uzdevuma nosacījumiem? Ja tu gribēji, lai maina "2015" uz "2014", tad vajadzēja uzdevumā rakstīt "Ja šai programmai nomaina vienu simbolu skaitlī "2015"", nevis kā tu uzrakstīji - vispār, turklāt "pieliek/atņem/izmaina". Nemaini uzdevuma nosacījumus vai arī definē uzdevumu konkrētāk. Varbūt tu domāji, nomainīt da jebkuru simbolu, kuru ne maini, vienmēr galā "2015"? Tad vajadzēja uzdevumā rakstīt - "Ja šai programmai nomaina vienu, jebkuru simbolu. Tad jau biedra ieleja piemērs arī neder, jo var nomainīt viņa programmā "2015" uz "2014". Vispār Vilx- iedeva baigi interesanto piemēru. Ar lielu nepacietību gaidīšu, kad kāds uzrakstīs pareizo atbildi. Labots Decembris 28, 2014 - vvv Link to comment Share on other sites More sharing options...
Vilx- Decembris 28, 2014 Share Decembris 28, 2014 Atvainojos, ka esmu nepilnīgi definējis uzdevumu. Jā, doma bija - jebkuru vienu simbolu nomainot, programmai joprojām jāizvada "2015". Ielejas piemērs arī neder, jā. Link to comment Share on other sites More sharing options...
vvv Decembris 28, 2014 Share Decembris 28, 2014 Jāiet gulēt. Kas ienāca prātā. Nezinu, vai ir tāda funkcija programmēšanas valodās, kas uzskaita programmas rindiņu skaitu. Jāuzraksta programma ar 2015 rindiņām, pēc tam galā jāizvada programmas rindiņu skaits. Varēs mainīt jebkuru vienu simbolu pa visu programmu acis pārgriezis, galā būs tikai, vienīgi un nemainīgi "2015". Link to comment Share on other sites More sharing options...
MarisO Decembris 28, 2014 Share Decembris 28, 2014 (labots) vai ta kroop ideja nav derīga valodās, kur nevar mainīt "string zīmi" un print arity ir 1 common lisp (let ((xx "2015")) (if (equal "2015" xx) (print xx) (print "2015"))) Labots Decembris 28, 2014 - MarisO Link to comment Share on other sites More sharing options...
vvv Decembris 28, 2014 Share Decembris 28, 2014 Tomēr nederēs, jo atnāks Vilx- un pēdējā rindiņā, kur komanda izvadīt rindiņu skaitu, pieliks mīnus zīmi. MarisO, tavā piemērā Vilx- samainīs "2015" uz "2014", neder tavs piemērs. Link to comment Share on other sites More sharing options...
MarisO Decembris 28, 2014 Share Decembris 28, 2014 MarisO, tavā piemērā Vilx- samainīs "2015" uz "2014 var tur mainīt jebkuru no "2015", mīnus zīmi pielikt nevar, jo LISPā tam vajag 3 simbolus Link to comment Share on other sites More sharing options...
AndrisBB Decembris 28, 2014 Author Share Decembris 28, 2014 (labots) Kā atrisināt tavu uzdevumu bez brute force? Padalies. Domaju kko lidzigu ka to risinatu uz papira sadalot pirmreizinatajos: 1. Dali to 1kk ar 2 kamer dalas 2. Pectam dali ar pirmskaitliem, kamer nonac lidz 1 Vai tas butu atrak ka izietcauri visiem variantiem nezinu ................. Vilx- uzdevumu gan nespeju saprast, varbut tas vairak attapibas uzdevums un jaizdruka sodienas gads, tik programma japalaiz pec jaunagada Labots Decembris 28, 2014 - AndrisBB Link to comment Share on other sites More sharing options...
_dunduks_ Decembris 28, 2014 Share Decembris 28, 2014 (labots) post deleted. Labots Decembris 28, 2014 - _dunduks_ Link to comment Share on other sites More sharing options...
vvv Decembris 28, 2014 Share Decembris 28, 2014 ielejas piemērs neder, jo tad tā joprojām izvada tikai un vienīgi "2015" , tev izvadīs divus, vienu derīgo, vienu pamainīto. varbut tas vairak attapibas uzdevums un jaizdruka sodienas gads, tik programma japalaiz pec jaunagada šitais arī ienāca prātā, bet googlē atradu, ka gada izvadīšanai, kaut kā jaraksta "Y", ko biedrs Vilx- vieglu roku izmainīs uz "M" vai "D". Vo Vilx- uzdevumu iedeva! Nemaz vairs miegs nenāk, gaidu atbildi. Programmētāji, saņemieties! Link to comment Share on other sites More sharing options...
Vilx- Decembris 28, 2014 Share Decembris 28, 2014 (labots) Jā, tas ir atjautības uzdevums, un man arī šķiet, ka tas būs vienlīdz grūts kā iesācējiem, tā ekspertiem. Par Common Lisp neko daudz nezinu, diemžēl. Iespējams, ka MarisO variants strādā. MarisO - pameklē pats, vai nevari atrast kādu viltību, kā piespiest izdrukāt ko citu. Taču nemetiet plinti krūmos, pārējie - izdomājiet risinājumus savās mīļākajās programmēšanas valodās! Pievienots: OK, moš es kļūdos, bet vai gadījumā nevar šitā: (;if (equal "2015" xx)Cik paskatījos piemērus netā, tad, pēc manas saprašanas, tam vajadzētu izkomentēt to ifu, kā rezultātā izpildītos ABI printi. Bet tas tā, uz ātru roku nepazīstot valodu. Labots Decembris 28, 2014 - Vilx- Link to comment Share on other sites More sharing options...
vvv Decembris 28, 2014 Share Decembris 28, 2014 Vai nav tā, ka jāuzraksta ar vārdiem "divi tūkstoši piecpadsmit", un piemeklēt komandas, kas to pārvērš ciparos. Pa vienam simbolam mainot, neko nesabojāsi, vai arī sabojāsi, bet (Šeit jāpiezīmē, ka simbols tiks nomainīts tikai tādā veidā, kas netraucēs programmu kompilēt/interpretēt) , kaut kā tā?https://www.easycalculation.com/convert-text-to-number.php Link to comment Share on other sites More sharing options...
MarisO Decembris 28, 2014 Share Decembris 28, 2014 jā var tur ielikt semikolu, lai drukā 2015 2 reizes (let ((xx "2015")) (if ;(equal "2015" xx) (print xx) (print "2015"))) bet šādi uzrakstot gan laikam vairs nē, jo iekavām jābūt balansā (let ((xx "2015")) (if (equal "2015" xx) (print xx) (print "2015"))) Link to comment Share on other sites More sharing options...
vvv Decembris 28, 2014 Share Decembris 28, 2014 MarisO ideju sapratu, gan jau ka strādā. Bet izskatās biedram Vilx- kas cits aiz ādas. Kad būs viņa atbilde, jābūt interesanti. Link to comment Share on other sites More sharing options...
Леший Decembris 29, 2014 Share Decembris 29, 2014 Uzrakstīju variantu, kas atbilst Vilxa uzdevumam, ja pieņēmam, ka Vilx- simbolus mainīs, nevis dzēsīs utt: https://eval.in/237883 main = print $ ["hs", "", "=", "power"] >>= show . length Link to comment Share on other sites More sharing options...
Vilx- Decembris 29, 2014 Share Decembris 29, 2014 (labots) Hm? Manis paša atbilde? Umm... pirmkārt, šī nav mana oriģināla ideja (tā kaut kad senos laikos esot bijusi Ugāles kausā); otrkārt, es šo jau iepriekš esmu uzdevis vienā ārzemju interneta forumā, kur dabūju daudzas un dažādas atbildes dažādās valodās. Linku iedošu vēlāk, citādi cilvēkiem būs kārdinājums tur skatīties, un tas vairs nebūs interesanti. Padarbojieties vien paši - šeit nav "pareizās atbildes" un uzvarētāja - tas ir tīri jautrībai. ja pieņēmam, ka Vilx- simbolus mainīs, nevis dzēsīs uttSorry, var arī vienu simbolu pievienot vai vienu simbolu nodzēst. Ja šai programmai nomaina jebkuru vienu simbolu (pieliek/atņem/izmaina)Lai arī no Haskella tikai nosaukumu zinu, tomēr tajā linkā var forši paspēlēties. Pamēģināju ielikt vienu nevainīgu atstarpīti, un skat - jau izdrukā 2115! Gan nav ne mazākās nojausmas, kāpēc. main = print $ ["hs", " ", "=", "power"] >>= show . length Pievienots:Ā, izpīpēju, ko tas dara. Izdrukā 4 stringu garumus. Nu, jā - kā sacīt saka - nice try. Labots Decembris 29, 2014 - Vilx- Link to comment Share on other sites More sharing options...
MarisO Decembris 29, 2014 Share Decembris 29, 2014 (labots) tas haskell kods drukā katra string garumu ["hs", " ", "=", "power"] 2 0 1 5 pamēģiniet LISP http://ideone.com/vCo4y2 Labots Decembris 29, 2014 - MarisO 1 Link to comment Share on other sites More sharing options...
Леший Decembris 29, 2014 Share Decembris 29, 2014 (labots) Tā, nu it kā šitā: https://eval.in/237909 main = print . head $ filter (==2015) [5*13*31] ++ [2015] haskell kods drukā katra string garumu Ja precizēt, tad tas izmanto faktu, ka >>= uz listēm ir list >>= func == concat (map func list) Attiecīgi, sākumā katra rinda tiks padota funkcijai show . length (dabūt garumu un pārkonvertēt par String) un tad rezultējošās rindas tiek sakonkatenotas, sanāk rinda "2015". Labots Decembris 29, 2014 - Леший 1 Link to comment Share on other sites More sharing options...
bubu Decembris 29, 2014 Share Decembris 29, 2014 Vai tad gandrīz jebkurā valodā nevar sabojāt nomainot/izdzēšot/pievienojot vienu simbolu "print" vārdā uz kaut ko citu, tādējādi sabojājot programmu un nekas nestrādās? Link to comment Share on other sites More sharing options...
MOD Decembris 29, 2014 Share Decembris 29, 2014 ... (Šeit jāpiezīmē, ka simbols tiks nomainīts tikai tādā veidā, kas netraucēs programmu kompilēt/interpretēt) Link to comment Share on other sites More sharing options...
vvv Decembris 29, 2014 Share Decembris 29, 2014 Patika MarisO piemērā kā viņš izvēlējās mainīgo no diviem simboliem. Viltīgi, jo ja būtu mainīgais no viena simbola, varētu to vienu simbolu aiz print nomainīt, piemēram, uz "1", un izvadītos galā "1" nevis "2015". A tā, nekā. Mainot tajā xx tikai vienu simbolu, programma vienkārši nestrādā. Gan jau arī Ļešij piemērs ir elegants, tikai nesaprotu tur nekā - cits līmenis. Link to comment Share on other sites More sharing options...
MOD Decembris 29, 2014 Share Decembris 29, 2014 (labots) Vai šo php gabalu var "piemānīt"? function happy(){ $date = new DateTime(); $date->setDate(2015, 1, 1); return $date->format('Y'); } echo happy()==2015? happy():2015; Edit: Var, pats testējot sākumā nepamanīju. Labots Decembris 29, 2014 - MOD Link to comment Share on other sites More sharing options...
vvv Decembris 29, 2014 Share Decembris 29, 2014 ieleja, tava ideja ar diviem print jau ir attīstīta MarisO piemērā. Link to comment Share on other sites More sharing options...
bubu Decembris 29, 2014 Share Decembris 29, 2014 (labots) MarisO lisp kodu var "salauzt" ar ' simbolu: (let ((xx "2015")) (if (equal "2015" xx) '(print xx) (print "2015"))) Labots Decembris 29, 2014 - bubu Link to comment Share on other sites More sharing options...
vvv Decembris 29, 2014 Share Decembris 29, 2014 Nu re, jāgaida vien atbilde no Vilx-. Link to comment Share on other sites More sharing options...
ImissimI Decembris 29, 2014 Share Decembris 29, 2014 Baigi riebīgi ir programmēšana un asprātības uzdevums kopā, it sevišķi, ja nevar zināt līdz kādam "līmenim" jāizmanto asprātība. Mans piedāvājums izmantot text to speech vai OCR. Tādējādi iznesot vienkārši izmaināmo vērtību '2015' "citā skoupā". Ē.. Tas ir - voice recognition nevis t2s Link to comment Share on other sites More sharing options...
Recommended Posts
Izveido kontu, vai pieraksties esošajā, lai komentētu
Jums ir jābūt šī foruma biedram, lai varētu komentēt tēmas
Izveidot jaunu kontu
Piereģistrējies un izveido jaunu kontu, tas būs viegli!
Reģistrēt jaunu kontuPierakstīties
Jums jau ir konts? Pierakstieties tajā šeit!
Pierakstīties tagad!