Newsgroup: it.hobby.enigmi
Titolo: f(n)=n

Definisco f(n) = il totale delle cifre "1" occorrenti per scrivere tutti
i numeri naturali da 1 a n.
Es. 1,2,3,4,5,6,7,8,9,10,11.  f(11)=4.  Qual'e' il piu' piccolo f(n)=n ?
Se sviluppo la stessa idea per tutte le cifre da "0" a "9", una di
queste NON ha soluzione. Quale?
:)dario

 queste NON ha soluzione. Quale?
 
f(10.000.000.000)=10.000.000.000 per tutte le cifre ad esclusione dell'1 e
dello 0 quindi se dici che ce n'e' una che non ammette soluzione, deve
essere lo zero.
Ciao, Silvio

:)dario
Chiamiamo  f2(n); f3(n) ecc. le funzioni riferite alle cifre "2"; "3" ecc
per n=10.000.000.000 trovo
f2(n)=f3(n)=f4(n)=f5(n)=f6(n)=f7(n)=f8(n)=f9(n)=n
scrivo tutti i numeri incolonnati, partendo da zero e inserendo a destra gli
zeri non significativi
0 000 000 000
0 000 000 001
...
9 999 999 998
9 999 999 999
ho scritto 10 miliardi di righe e 10 colonne, quindi in totale 100 miliardi
di cifre, ugualmente distribuite tra 0 e 9;
ogni cifra percio' e' stata scritta 10 miliardi di volte
con l'ultimo numero 10.000.000.000, aggiungo solo le cifre 1 e 0, quindi
ciascuna cifra da 2 a 9 compare ancora 10 miliardi di volte
quindi, per esclusione, se per una cifra non esiste soluzione, tale cifra
deve essere "0"
ciao
paolo

 Ciao, Silvio
Veramente notevole,  pensavo ad un gran smanettamento di bit, invece...
Difatti per lo zero abbiamo
f(100559404365)=100559404364
f(100559404366)=100559404367 poi f(n)>n per sempre. 
dario

 paolo
Sia tu che Silvio avete trovato una scorciatoia, complimenti.
Quando si propongono problemi, ci si dimentica spesso qualche
particolare, in questo caso f(1)=1 era da intendersi banale, ma
giustamente tu l'hai proposto.
ciao dario
PS.  Ma cosa devo escogitare per farvi impegnare un po??

deve essere "0"
ho provato a fare una verifica
per "0" ho trovato due valori che, salvo errori, approssimano la funzione a
meno di una unita':
per n=10.559.404.365     f0(n)=n-1
per n=10.559.404.366     f0(n)=n+1
"se" 0 potesse essere considerato un numero naturale
(cioe' se si contassero i numeri a partire da zero)
tutte le f0 aumenterebbero di una unita'
quindi
il primo dei due numeri suddetti sarebbe una soluzione
ciao
paolo

 f(100559404366)=100559404367 poi f(n)>n per sempre. 
calma... tu hai _dimostrato_ che non c'e' soluzione per lo "0", io e Paolo
ci siamo limitati a constatare che, dato che avevamo trovato soluzioni per
tutte le cifre da "1" a "9", e tu asserivi che una cifra non ammmetteva
soluzione, allora...
e non e' la stessa cosa! Paolo, per esempio, ha trovato i tuoi valori, ma
non ha fatto la tua constatazione, probabilmente perche' non l'ha
_cercata_, dato il tuo suggerimento.

 ed anche f(200.000)=200.000
Sempre nello stesso modo, ottengo f(200.000)=169.950
Che ne dici? Ti mando il listato per trovare f(99999), se puo' servire.
MAX=99999;
%parto da 2, visto che f(1)=1 e' banale
count=1;
for n=2:MAX
	str=num2str(n);
	len=length(str);
	for k=1:len
		if str(k)=='1'
			count=count+1;
		end;
	end;
	%se f(n)=n, mi interrompo
	if n==count
		break;
	end;
end;
%visualizzo n e f(n)
n
count
Stefano Costa
^^^^^^^^^^^^^
sco...@enjoy.it
cos...@odino.unipv.it

Sempre nello stesso modo, ottengo f(200.000)=169.950
sempre nello stesso modo
da 0 a 99.999      50.000 cifre "1"
poi
100.000
100.001
....
199.998
199.999
100.000 righe
100.000 "1" in prima colonna
500.000/10=50.000 "1" nelle rimanenti 5 colonne
totale 50.000+100.000+50.000=200.000 "1"
ciao
paolo

Grazie per l'attenzione. Provero' a vedere come mai ottengo dei risultati
sbagliati.
Stefano