Jak v Excelu spočítat ciferný součet?
#21
Publikováno 20 duben 2008 - 9:34
funcrion ciferace(numero) a pak jí zadam do buněk
viděl bych to nejspíš v duchu (memi to VBa syntax, musel bych to mít před sebou):
ret=0
for i in range(0:len(numero)):
ret=ret+numero[i]
#22
Publikováno 20 duben 2008 - 10:04
Public Function cif_souc(numero1 As Integer) As Integer Dim ret As Integer Dim numero As String numero = CStr(numero1) ret = 0 For i = 0 To Len(numero) ret = ret + CInt(numero(i)) Next i cif_souc = Len(numero) End Function Public Function ciferace(num As Integer) As Integer Do While 1 If Len(num) > 1 Then num = cif_souc(num) Else Exit Do End If Loop End Functionhmm, ale nechce behat
bud najit chybu, nebo nainstalovat openoffice a pouzit python
#23
Publikováno 20 duben 2008 - 13:34
#24
Publikováno 20 duben 2008 - 14:48
Heh, funguje to hezky, ale nevím proč. Asi jsem něco četl pod lavicí místo abych dával pozor Má to nějaké matematické vysvětlení? (Stačí odkaz) Díkykamilek napsal/a:
Matematicky se ciferace nejlepe vyjadri jako zbytel po deleni deviti (pokud vyjde zbytek 0 a cislo obsahovalo aspon jednu nenulovou cifru, je ciferace 9).
EDIT: Teď jsem to vyzkoušel v Mobile Excelu pro PDA i pod Wokny. Použití funkce MOD má v Excelu jednu podstatnou mouchu: Neumí pracovat s čísly většími než 1,207,959,551 , což nestačí pro ciferaci 15 platných číslic v souřadnicích. Takže se raději vrátím ke svému polopatickému ciferátoru.
.
#25
Publikováno 20 duben 2008 - 15:54
jeleniste napsal/a:
Neni cifrovani to, kdyz moravskej sohaj stepuje a mava u toho kloboukem??
Ty VYJADŘUJ SE O NÁS VALACHÁCH A FOLKLORISTECH SLUŠNĚ! Nebo si Tě najdu :@
To, ze pisu bez diakritiky je zpusobeno anglickou klavesnici...
-----------------------------------------------------------------------
Podpis? A jak se mám jako podepsat, když tu nemám pero....
#26
Publikováno 20 duben 2008 - 18:15
#27
Publikováno 20 duben 2008 - 19:15
A umí to alespoň INT, tj. zaokrouhlování dolů? Pokud ano, není problém to přepsat tak, aby v buňkách byla vždy čísla a nemuselo se pracovat s řetězcimarekl napsal/a:
Já sám v terénu používám program QuickSheet na Nokii E61i. Ten bohužel nezvládá funkci Hodnota, takže to asi dál budu muset dělat ručně.
.
#28
Publikováno 20 duben 2008 - 20:16
#29
Publikováno 20 duben 2008 - 20:22
řešily se tu i "závažnější" problémy ;-)gerdik napsal/a:
Celkem mne překvapuje kolik energie a času kačeři dávájí do "problému" součtu pár čísel.
Považuj to za zadání mystery a přidej se ;-)
#30
Publikováno 20 duben 2008 - 20:43
#31
Publikováno 20 duben 2008 - 21:30
jeleniste napsal/a:
Neni cifrovani to, kdyz moravskej sohaj stepuje a mava u toho kloboukem??
Přesně! A nebýt toho, že jsme tenkrát v osmdesátým prvním pozvali na výměnný pionýrský pobyt černé bratry geokačery z Bronxu, tak by dnes neexistoval breakdance
Ad celé vlákno: Takhle se mi to líbí. Se jednou větou zeptám Marka, jak se dělá v Excelu ciferný součet a o pár dnů pozdějc tady máme švestičky z Danovy zahrádky
#32
Publikováno 20 duben 2008 - 21:42
dandra napsal/a:
Heh, funguje to hezky, ale nevím proč. Asi jsem něco četl pod lavicí místo abych dával pozor Má to nějaké matematické vysvětlení? (Stačí odkaz) Díkykamilek napsal/a:
Matematicky se ciferace nejlepe vyjadri jako zbytel po deleni deviti (pokud vyjde zbytek 0 a cislo obsahovalo aspon jednu nenulovou cifru, je ciferace 9).
Vysvětlení je celkem jednoduché (akorát ho asi napíšu složitě).
Jedna věc je dekadický zápis: 1234 = 1000*1+100*2+10*3+1*4
Druhá věc je obecný princip, že když a a b mají stejný zbytek po dělení devíti a stejně tak c a d tak i a+b a c+d mají stejný zbytek po dělění devíti. To platí i pro násobení.
Třetí věc je, že každá mocnina desítky má zbytek po dělení devíti jedna (protože 100000 - 1 jsou samé devítky).
No a když se to dá dohromady tak to dá, že součet cifer má stejný zbytek po dělení devíti jako původní číslo. No ale součet cifer je normální číslo, takže i jeho součet cifer má stejný zbytek, a tak dále, až dostaneme jednu cifru. Ta má mít stále stejný zbytek po dělení devíti. Tím zbytkem je ale ta cifra sama pokud se nejedná o devítku.
#33
Publikováno 20 duben 2008 - 21:47
#34
Publikováno 14 duben 2014 - 9:11
LOL, psát midlet na počítání ciferace..
CIFERACE(x) = ((x - 1) mod 9) + 1
Nula je speciální případ.
#35
Publikováno 14 duben 2014 - 9:17
LOL oživovat 6 let mrtvé vlákno.
Zde je speciální případ.
*
#36
Publikováno 14 duben 2014 - 9:18
LOL, psát midlet na počítání ciferace..
CIFERACE(x) = ((x - 1) mod 9) + 1
Nula je speciální případ.
1) máš šest let zpoždění
2) tohle řešení už tu zaznělo
3) otázka byla na ciferný součet, ne ciferaci
#37
Publikováno 14 duben 2014 - 10:30
Celkem mne překvapuje kolik energie a času kačeři dávájí do "problému" součtu pár čísel.
asi toho máš vyluštěno hodně málo. Někdy nemáš jinou možnost, než hledat rozumné výsledky z několika set nebo dokonce tisícovek možných. A počítej to ručně, když navíc původní hodnoty můžeš měnit !
#38
Publikováno 14 duben 2014 - 14:01
Asi budete štěkat, že to není k tématu vlákna, ale mě přijde počítání ciferného součtu excelem jako lov na vrabce protiletadlovým kanónem - to je takovej problém to sečíst z hlavy? Na zamyšlení: Kolik ciferných součtů spočítáte ručně za dobu, kterou strávíte vymýšlením algoritmů výpočtu c.s., čtením tohodle vlákna, odpověďmi...
Styď se, za takto jednoduché řešení !!!
#39
Publikováno 14 duben 2014 - 14:58
A co hodit do A1 to ciferovany cislo, do B2 =INT(A1/10) to zkopirovat postupne do C1 ... x1 a pod to do B2 =MOD(A1,10) a zkopirovat postupne do C2 ... x2 a do B1 dat sumu pres C2 ... x2. Je to nakopirovany rychle, nic slozityho a funguje to.
#40
Publikováno 14 duben 2014 - 15:26
to by byla dobra povidka cyberpunkoveho věku :-)
*
0 uživatel(ů) prochází toto téma
0 uživatelů, 0 návštěvníků 0 anonymních uživatelů