Показать сообщение отдельно
  #6 (permalink)  
Старый 22.08.2017, 22:39
Интересующийся
Отправить личное сообщение для 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 palindrome(num) {
    	var tmp = num, res = 0, dig;
    	while (tmp) {
        dig = tmp % 10;
        res = res * 10 + dig;
        tmp = (tmp - dig) / 10;
    	}
    	return res == num;
		}

		for (i=0; i<rev.length; i++){
			for (j=0; j<rev.length; j++){
				otv = rev[i]*rev[j];
				if(palindrome(otv)){
					document.write(otv+" ");
				}
				/*else {
					document.write("0");
				}*/
			}
		}
	}
	sieve(100000);
Наколдовал так, что за минуту вывел все палиндромы, аж сам удивился)
Ответить с цитированием