Pagina 1 di 1
Inviato: 01 gen 1970, 01:33
da Catraga
Dimostrare o confutare:
<BR>
<BR>Sia n un numero naturale.
<BR>1) Moltiplicarlo per 9.
<BR>2) Rimuovere dal risultato la cifra delle unita\'.
<BR>3) Ricominciare con il nuovo numero dal punto uno.
<BR>Il ciclo termina quando il risultato e\' zero.
<BR>Questo algoritmo ha sempre fine.
<BR>
<BR>Se il teorema precedente e\' vero, dire dopo quanto passi si otterra\' come rislultato il numero zero.
<BR>
<BR>es:
<BR>23 => 207 => 20 => 180 => 18 =>162 => 16 => etc...
Inviato: 01 gen 1970, 01:33
da Biagio
il fatto che abbia fine sempre è perchè prima si moltiplica per nove poi si divide per un numero>10, allora ogni due passi la successione è strettamente decrescente...
Inviato: 01 gen 1970, 01:33
da ma_go
x =/= 0 implica che [9x/10] (minore di) x, questo implica che la successione è finita.
<BR>
<BR>[ Questo Messaggio è stato Modificato da: ma_go il 07-11-2003 14:21 ]<BR><BR>[ Questo Messaggio è stato Modificato da: ma_go il 07-11-2003 14:29 ]
Inviato: 01 gen 1970, 01:33
da Biagio
inoltre il numero diminuisce ogni due passi di quante sono le sue (decine meno un\'unità) più uno.
<BR>esempio 25_22_18_16_...
<BR> 20_18_16...
Inviato: 01 gen 1970, 01:33
da maffione
io non ho trovato una dimostrazione valida x ricavare il numero di passi che ci vogliono, ma questo programma, avviabile con Pascal rende l\'idea di come vadano le cose...
<BR>
<BR>program xxx;
<BR>uses crt;
<BR>var a,n,i,x:longint;
<BR>Begin (*questo programma calcola dopo quanti passi si otterra come risultato il numero 0 da 1 fino al numero desiderato*)
<BR>clrscr;
<BR>Writeln(\'Il ciclo si interrompera al numero... (inserisci il valore)\');
<BR>Readln(x);
<BR>for i:=1 to x do
<BR> Begin
<BR> write(i,\' \');
<BR> a:=0;
<BR> n:=i;
<BR> Repeat
<BR> a:=a+1;
<BR> n:=n*9;
<BR> n:=n div 10;
<BR> until n=0;
<BR> Write (a);
<BR> if i mod 24=0 then
<BR> Begin
<BR> Writeln(\' premi Invio\');
<BR> Readln;
<BR> End
<BR> else
<BR> Writeln;
<BR> End;
<BR>Repeat until keypressed
<BR>End.