![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 65 Pomógł: 1 Dołączył: 19.03.2012 Skąd: Września Ostrzeżenie: (0%) ![]() ![]() |
Witam muszę napisać skrypt skracania zer a kompletnie nie wiem jak się do tego zabrać, może mi ktoś w tym pomóc?
Powód edycji: [Daiquiri]: Przenoszę do odpowiedniego działu
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 778 Pomógł: 84 Dołączył: 29.07.2010 Skąd: Gliwice / Pławniowice Mistrz niezmordowanej klawiatury. Ostrzeżenie: (20%) ![]() ![]() |
Skracania zer ?
Może coś więcej nam powiesz ? (IMG:style_emoticons/default/sciana.gif) Ten post edytował toaspzoo 18.07.2012, 22:36:51 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 115 Pomógł: 13 Dołączył: 19.06.2011 Skąd: Ruda Śląska Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 65 Pomógł: 1 Dołączył: 19.03.2012 Skąd: Września Ostrzeżenie: (0%) ![]() ![]() |
i co to działa?? Na to to raczej bym sam wpadł. Bo tu chodzi o to że gdy mamy np. 200/40 i możemy skrócić zera wtedy dzielimy nie przez 200/40 tylko 20/4
A co do postu 2xup to ty chyba nie miałeś fizyki (IMG:style_emoticons/default/tongue.gif) Ten post edytował kalafior122 19.07.2012, 09:35:23 |
|
|
![]()
Post
#5
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat i co to działa?? Na to to raczej bym sam wpadł No raczej bys nie wpadł, skoro napisałeś posta na forum...Cytat A co do postu 2xup to ty chyba nie miałeś fizyki Może jednak napisz o co ci chodzi bo niby skad mamy wiedziec ze akurat ci chodziło o termin z fizyki? Na tym forum ludzie mają kupę głupich określeń na to co chcą zrobić i sorki, ale nawet najwieksza wrozka moze miec problem z załapaniem o co im chodzi...[POMOCY] i na przyszłośc daruj sobie taki tagi. One niczemu nie służą |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 915 Pomógł: 210 Dołączył: 8.09.2009 Skąd: Tomaszów Lubelski/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Ja miałem fizykę i też nie mam pojęcia co kryje się pod pojęciem "skracanie zer"? Może 0.001 * 1000? (IMG:style_emoticons/default/biggrin.gif)
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 872 Pomógł: 94 Dołączył: 31.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
http://pl.wikipedia.org/wiki/Najwi%C4%99ks...%B3lny_dzielnik Rozklad na czynniki pierwsze, teraz wystarczy to tylko przeniesc na kod.
Ten post edytował lukaskolista 19.07.2012, 09:54:37 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 65 Pomógł: 1 Dołączył: 19.03.2012 Skąd: Września Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#9
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
załamka.... przecież to jest matematyka a nie fizyka...
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 65 Pomógł: 1 Dołączył: 19.03.2012 Skąd: Września Ostrzeżenie: (0%) ![]() ![]() |
załamka.... przecież to jest matematyka a nie fizyka... ee ja tam najwięcej tego robiłem na fizyce (IMG:style_emoticons/default/tongue.gif) |
|
|
![]()
Post
#11
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
s=200
t=20 Liczysz zera od prawej dla każdej z liczb. Następnie kasujesz od prawej u każdej z liczb najmniejszą liczbę zer z dwóch liczb. a kasowanie to poprostu dzielenie przez daną potęgę 10. A liczbe zer to chyba umiesz policzyć? Cytat ee ja tam najwięcej tego robiłem na fizyce A jak na fizyce idziesz siku to masz problem fizyczny czy biologiczny??Następnym razem opisuj problem od razu a nie sypiesz pojęciami których sam nie rozumiesz. |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 65 Pomógł: 1 Dołączył: 19.03.2012 Skąd: Września Ostrzeżenie: (0%) ![]() ![]() |
tak szczerze to nie (IMG:style_emoticons/default/sad.gif)
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 121 Pomógł: 22 Dołączył: 22.06.2012 Ostrzeżenie: (0%) ![]() ![]() |
Możesz np. rozbić sobie liczby na tablicę po jednym znaku i od końca sprawdzać czy znak == 0 i dawać np. $ile++; az nie trafi się na inny znak.
Tak wiem nieoptymalne, ale innego pomysłu nie mam. I w sumie wyszło że chodziło ci o coś zupełnie innego niż każdy myślał... Trza wyrażać się precyzyjnie, bo skracanie zer to: 0001 -> 1 10000 -> 1 1.3000 -> 1.3 0101010 -> 10101 0101010 -> 111 i też to co ty podałeś. Ten post edytował Shido 19.07.2012, 10:31:06 |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) ![]() ![]() |
A w matematycznych funkcjach nie ma przypadkiem czegoś co rozwiąże Twój problem?
http://php.net/manual/pl/book.math.php |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 65 Pomógł: 1 Dołączył: 19.03.2012 Skąd: Września Ostrzeżenie: (0%) ![]() ![]() |
A w matematycznych funkcjach nie ma przypadkiem czegoś co rozwiąże Twój problem? http://php.net/manual/pl/book.math.php Niestety nie |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
A jaki sens jest w ogóle tego skryptu?
Przyjmując, że chcesz napisać funkcje to jakie ma przyjmować argumenty i jakie wartości zwracać? Dwie liczby i zwracać dwie liczby "skrócone" o te zera? |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 65 Pomógł: 1 Dołączył: 19.03.2012 Skąd: Września Ostrzeżenie: (0%) ![]() ![]() |
tak. Głównie chodzi o zamianę zer które można skrócić na zera skreślone tak jak jest pokazane na obrazku
|
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 1 447 Pomógł: 191 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
najpierw ten string podziel sobie za pomocą explode na dwie liczby.
czyli takie coś : Kod '120/60' zamień na Kod array('120','60') następnie obie wartości zamień na integer. Kod array(120,60) następnie sprawdzaj czy obie liczby dzielą się przez 10 bez reszty. 120%10== 0, więc się dzieli przez 10. 60%10==0, więc też się dzieli przez 10. Więcej na ten temat masz tutaj : http://php.net/manual/en/internals2.opcodes.mod.php Jeśli obie dzielą się bez reszty, to obie dzielisz przez 10 i sprawdzasz od początku czy dzielą się przez 10. Jeśli nie to masz już wersję "skróconą" i robisz dalej co chcesz. Tylko, że... czy Ty nie chciałbyś przypadkiem, żeby ten skrypt np. takie działanie: 140/70 skrócił do 2/1 lub po prostu 2 ? W Twoim przypadki skróci tylko do 14/7. Do tego warto użyć algorytmu "sito eratostensa" (czy jakoś tak) bo jak wiadomo - każda liczba złożona to iloczyn liczb pierwszych. |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 65 Pomógł: 1 Dołączył: 19.03.2012 Skąd: Września Ostrzeżenie: (0%) ![]() ![]() |
a tak po ludzku? chodzi mi tylko i wyłącznie o zamianę zer które się nadają do skrócenia na skreślone czyli żeby wyświetlało
tak: 17 |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 121 Pomógł: 22 Dołączył: 22.06.2012 Ostrzeżenie: (0%) ![]() ![]() |
Napisał ci już po ludzku. Widać że liczysz na gotowca.
Kolejna sprawa to taka że forum jest po to by tu rozwiązywać problemy, a nie przez GG. 1. Zamieniasz liczby na inta ( by sie skrypt nie rozsypał ) 2. Sprawdzasz czy liczba ma resztę z dzielenia przez 10 3. Jeżeli nie ma ( liczba%10 == 0 and liczba2%10 == 0) to ucinasz z obu ostatni znak 4. Sprawdzanie i ucinanie w pętli która skończy się gdy któraś z liczb nie będzie już podzielna bez reszty przez 10. Bardziej po ludzku się nie da. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 30.09.2025 - 12:14 |