Показать сообщение отдельно
  #1 (permalink)  
Старый 22.08.2017, 20:24
Интересующийся
Отправить личное сообщение для Gtfuc Посмотреть профиль Найти все сообщения от Gtfuc
 
Регистрация: 22.08.2017
Сообщений: 27

Палиндром, организация проверки
Добрый день. Каким образом можно сделать обработку числа на палиндром? Задание следующее: необходимо найти максимальный палиндром путем умножения двух пятизначных простых чисел. Используя решето Эратосфена нашел массив простых чисел, потом отфильтровал по заданному диапазону и перевернул массив, далее хотел пройтись циклом для переумножения чисел и проверки на палиндром, но как быть с проверкой: число приравненное к функции отдает ложь?
function sieve(n){
		S=[];
		S[1]=0;
		for(k=2;k<=n; k++)
			S[k]=k;
		for(k=2;k*k<=n; k++){
			if(S[k]==k){
				for(l=k*k; l<=n; l+=k){
					S[l]=0;
				}
			}
		}
		var filterS = S.filter(function(filt){
			return filt!=0 && filt>10000;
		});
		var rev = filterS.reverse();
		var otv;
                function pal(n){
		var obr = 0;
		while (n>0){
			obr = 10* obr + n%10;
			n/=10;
		}
		return obr;
	}
		for (i=0; i<1000; i++){
			for (j=0; j<1000; j++){
				otv = rev[i]*rev[j];
				if(otv == pal(otv))
				document.write(otv+" ");
			}
		}
	}
	sieve(100000);
Ответить с цитированием