Utworzenie liczby o cyfrach w odwrotnej kolejnośći niż w danej liczbie

Zadanie 1. Dla danej liczby naturalnej n >=1

'use strict';
//inicjalizowanie zmiennej
let n = 670033;
window.document.writeln('n=',n);

let x = 0;

//instrukcja iteracyjna while
while (n > 0){
	x = (n%10) + 10*x;
	n = Math.floor(n/10);
}
window.document.writeln('x=',x);
}



Zadanie 2. Danych jest kilka cyfr naturalnych. Dla każdej z nich skonstruować liczbę o cyfrach w odwrotnej kolejności.

Sposób 2.1 Sposób super beznadziejny, ponieważ powielam kod.

'use strict';
//inicjalizowanie zmiennej
let n = 213769;
window.document.writeln('n=',n);

let x = 0;

//instrukcja iteracyjna while
while (n > 0){
	x = (n%10) + 10*x;
	n = Math.floor(n/10);
}
window.document.writeln('x=',x);

Wyniki:



Sposób 2.2 Z wykorzystaniem function

function odwrocCyfre(n){
	
	let x = 0;

	//instrukcja iteracyjna while
	while (n > 0){
		x = (n%10) + 10*x;
		n = Math.floor(n/10);
	}
	return x;
	}

window.document.writeln('n=213769
x=',odwrocCyfre(213769),"
"); window.document.writeln('n=676676
x=',odwrocCyfre(676676),"
"); window.document.writeln('n=9090909
x=',odwrocCyfre(9090909),"
");

Wyniki:



Sposób 2.3 Liczby przetwarzane umieszczam w tablicy. Dostęp do liczby za pomocą indeksu elementu tablicy. Użycie instrukcji iteracyjnej while.

//uzywam funkcje zdefiniowana w poprzednim przykladzie
'use strict';

let liczby = [2137,1234,2525,80801,428764,2587658]; //dane do przetworzenia
let d_liczby = liczby.length; //dlugosc listy liczby
let indeks = 0; 

while(indeks <= d_liczby-1){ //funkcja for machen
	window.document.writeln('n=',liczby[indeks],'
x=',odwrocCyfre(liczby[indeks]),"
");//pokaz dane startowe i wynik indeks++;//powieksz zmienną indeks o 1 }

Wyniki:

	


Sposób 2.4 Użycie for


'use strict';
//Używam zdefiniowanych w poprzednim zadaniu listy liczby, zmiennej d_liczby i odwrocCyfre
for(indeks = 0;indeks <=(d_liczby-1);indeks++){
	window.document.writeln('n=',liczby[indeks],'
x=',odwrocCyfre(liczby[indeks]),"
"); }

Wyniki:



Zadanie 3 Stwórz liczbe która będzie wynikiem potęgowania każdej kolejnej cyfry w liczbie a przez pozostałą liczbę cyfr w a

'use strict';

function policzCyfry(n){
	
	let x = 0;

	//instrukcja iteracyjna while
	while (n > 0){
		x++;
		n = Math.floor(n/10);
	}
	return x;
}

function potegi(liczba){
	
	let x = 0;
	while(liczba > 0){
		//window.document.writeln(x," ",liczba);
		x += Math.pow( (liczba%10), policzCyfry(liczba)-1 );
		
		liczba = Math.floor(liczba/10);
	}
	return x;
}

let dopotegowania = [12,1,2,345];
for(let cyfra of dopotegowania){
	window.document.writeln('n=',cyfra,"
x=",potegi(cyfra),"
"); }

Wyniki: