Side 1 av 1

Sifferekstrakt

Lagt inn: 29/05-2007 00:36
av Maple
Hvis man har et tall, f.eks. 31416, hvordan kan man "få ut sifrene"?

Litt vanskelig å forklare, kanskje. Jeg trenger en funksjon/algoritme som gjør at man kan "oversette" dette tallet til:

3E4+1E3+4E2+1E1+6E0.

Mer generelt, hvordan få et tall X over til:

[tex]\sum_{i=0}^n a_i 10^i[/tex].

Innen informatikk/programmering har man vel %-operatoren. Men jeg skal ikke programmere.

Jeg trenger en funksjon hvor jeg kan gjøre om tallet X til et utrykk som beskrevet over.

Er dette i det hele tatt mulig?

Lagt inn: 29/05-2007 01:24
av Magnus
Du kan jo få den til å identifisere hvor mange tierpotenser det er i det ledende sifferet. Så deler du på denne tierpotensen og runder ned til nærmeste heltall. Da vil du jo få fresmte tallet. Etter det kan du vel trekke fra tallet du fant først, og stå igjen med 1416. Deler dette på 1000 og runder ned til 1. Trekker fra 1000 står igjen med 416 osv. Jeg er ingen algoritmekonge, og denne er nok ikke mye effektiv. Men den fungerer vel hvertfall: )

Re: Sifferekstrakt

Lagt inn: 29/05-2007 01:46
av Zoiros
Maple skrev:Hvis man har et tall, f.eks. 31416, hvordan kan man "få ut sifrene"?

Litt vanskelig å forklare, kanskje. Jeg trenger en funksjon/algoritme som gjør at man kan "oversette" dette tallet til:

3E4+1E3+4E2+1E1+6E0.

Mer generelt, hvordan få et tall X over til:

[tex]\sum_{i=0}^n a_i 10^i[/tex].

Innen informatikk/programmering har man vel %-operatoren. Men jeg skal ikke programmere.

Jeg trenger en funksjon hvor jeg kan gjøre om tallet X til et utrykk som beskrevet over.

Er dette i det hele tatt mulig?
Du vil altså at det skal gjøres med bare algebra? Huff..

Lagt inn: 29/05-2007 03:17
av daofeishi
Veeel, vil du finne n'te sifferet i x, har du jo

[tex]f(x, n) \ = \ \lfloor \frac{x}{10^{n-1}} \rfloor \ \pmod {10} \qquad \qquad 1 \leq n \leq \lfloor \log _{10} x \rfloor + 1[/tex]

Men å håpe på noe ala en polynomfunksjon er litt mye å ønske seg.