| Programmieraufgaben Hier wird regelmäßig eine neue Programmieraufgabe gestellt, die dann gelöst werden soll und in Zusammenarbeit mit den Moderatoren auch besprochen werden kann. |
Diskussion: [leicht bis schwer]kontinuierliche Division im Forum Programmieraufgaben, in der Kategorie Code Kitchen; Anzeige Eingreicht von lone.wolf Zitat: Schwierigkeitsstufe: 2 (Mittel) Aufgabenstellung: Schreibe ein Programm, das die Nachkommastellen, die bei einer Division rauskommen, ...
![]() |
| | #1 (permalink) | |
| Moderator ![]() Registriert seit: 20.07.05 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 202 | Anzeige Eingreicht von lone.wolf Zitat:
Habe nur die Schwierigkeitsstufe etwas anders gemacht, da es hier auf die jeweils verwendete Sprache/Bibliothek ankommt (angefangen mit dem klassischen 3 Zeiler in Python bis hin zur eigenen Float-Bibliothek in C/Assembly oder anders gesagt: leicht: setze die Aufgabe um mittel: verwende dabei keine zusätzlichen Module (wer Maple & Co Verwendet, ist ein Cheater schwer: verwende keine zusätzlichen Module + die Nachkommastellenangaben sollen auch für große Werte möglich sein (wer Maple & Co verwendet, cheatet)
__________________ Noch mal, für alle Pseudo-Geeks: 1+1=0. -> 10 wäre Überlauf! Selig, wer nichts zu sagen hat und trotzdem schweigt. | |
| | |
| | #2 (permalink) |
| Hier mal meine Lösung Lösung MfG und viel Spaß beim Nachgrübeln Geändert von lone.wolf (15.10.10 um 00:01 Uhr) | |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Registriert seit: 09.12.09 ![]() Likes: 0 | Meine Lösung: Lösung Nicht wirklich weiterverwendbar; die Aufgabenstellung sollte aber korrekt gelöst sein. Ich hoffe es ist kein Fehler drinnen. Ich wünsche auch noch viel Spaß beim Denken ![]() mfg Thunder PS: vorkompiliert im Anhang.
__________________ B4 09 BA 08 01 CD 21 C3 48 61 6C 6C 6F 20 57 65 6C 74 21 24 |
| | |
| | #4 (permalink) |
| Registriert seit: 13.02.06 ![]() Likes: 1 | Bei meinen php-versionen wird davon ausgegangen dass das bcmath modul installiert/aktiviert ist. bei normalen divisionen ohne bcmath wird leider nur bis zur 13ten nachkommastelle berechnet. spoiler und noch als oneliner: oneliner Geändert von b4ck (18.10.10 um 15:55 Uhr) |
| | |
| | #5 (permalink) |
| Registriert seit: 12.10.10 ![]() Likes: 19 | Das würde auch Kommazahlen als Eingabe akzeptieren, funktioniert aber irgendwie nicht: Delphi Das hier funktioniert, nimmt aber nur integer-Eingaben an: Delphi Geändert von Apfelkuchen (18.10.10 um 16:17 Uhr) |
| | |
| | #6 (permalink) | |
| Registriert seit: 21.04.08 ![]() Likes: 0 | Kleine, aber meiner Meinung nach, sehr schöne Lösung in Haskell. Code: import Data.List as L
import Data.Maybe as M
decimals :: Integer -> Integer -> String
decimals n d = let (n0,d0) = divMod n d
in (show n0) ++ "," ++ (concatMap show $ next d0)
where next nx | d > 0 = dx : next nx1
| otherwise = repeat 0
where (dx,nx1) = divMod (nx*10) d
cut :: (Int,Int) -> String -> String
cut (s0,s1) xs = take s1 $ drop (idx+s0) xs
where idx = M.fromJust $ L.elemIndex ',' xs
main :: IO ()
main = mapM_ print [cut (2,4) seq, take 25 seq]
where seq = decimals 113 35 Zitat:
Felix | |
| | |
| | #7 (permalink) |
| Registriert seit: 10.11.10 ![]() Likes: 0 | finds zwar selber net schön, weil der eingabestring immer wieder abgeschnitten wird, aber es funktioniert ^^ VB Geändert von DMRMcK (10.11.10 um 14:33 Uhr) |
| | |
| | #9 (permalink) |
| Registriert seit: 14.04.06 ![]() Likes: 4 | Das läuft wahrscheinlich auch schon auf cheaten hinaus, da Python ja beliebig lange Zahlen erlaubt, aber so funktioniert es prinzipiell: Geändert von Eydeet (09.06.11 um 23:48 Uhr) |
| | |
| | #10 (permalink) |
| Registriert seit: 22.05.12 ![]() Likes: 0 | Das Thema ist zwar schon bisschen älter, aber zum wieder bisschen reinkommen doch gut geeignet. Hier mein Code in php: PHP-Code: ![]() LG, Micha |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |