打印出1-10000之间的所有对称数(如121,1331,2442)。

练习题:打印出1-10000之间的所有对称数(如121,1331,2442)。

自己写的代码:

var isSym = function (num) {
                var str = '';
                for (var i = 1; i <=9; i++) {
                     //如果个位算,可去掉注释
                     //str+=i;str += ',';
                    for (var j = 1; j <= 9; j++) {
                        if (i == j) {
                            str = str + i + ',' ;
                            str = str + i + j + i + ',';
                        }
                        str = str + i + j+j + i + ',';
                    }
                }
                return str;
            }
            isSym(10000);

结果:

别人写的代码:

1.

function test1(n){
    var arr = [];
    for(var i = 1;i < n/10;i++){
      i = i.toString();
      arr.push(i[0]+ '' + i.split("").reverse().join(""));
    }
    return arr;
  }
  document.write(test1(10000));

2.

function judgeNum(start,end){
for(var i = start;i < end; i++){
var strI = i.toString().split("").reverse("").join("");
if(Number(strI) == i && i > 10){
console.log(strI);
}
}
}
judgeNum(1,10000);

3.

function getReverseNumber (num) {
var result = [];
for (var i = 10; i < num + 1; i++) {
var a = i.toString();
var b = a.split("").reverse().join("");

if(a === b)
{result.push(b);}
};
return result;
}
 getReverseNumber(10000); 

4.

var n= function(){
	var str = "";
	var res = "";
	for(var num = 0;num<=10000;num++){
		str=num++;
		if(str.length>1 && str[0] == str[str.length-1]){
			if(str.length<4){
				res += str+'\n';
			}
			if(str.length ==4){
				if(str[1] == str[2]){
					res += str +'\n';
				}
			}
		}
	}
	return res;
}
时间: 2024-08-26 19:39:29

打印出1-10000之间的所有对称数(如121,1331,2442)。的相关文章

打印出1-10000之间的所有对称数(如121,1331,2442)

自己想的 for(var i=0; i<10000; i++){ fn(i); } function fn(num){ var n = num.toString(); if(n.length<2){ return; } var prev = n.substring(0, Math.round(n.length/2)); var next = n.substring(Math.round(n.length/2), n.length).split("").reverse().j

py练习之0到10000之间的所有数不包含5,10,15,30,60的倍数

"""" # -*- coding: cp936 -*- def number(): for x in range(1,5): for y in range(1,5): for z in range(1,5): if x!=y and y!=z and z!=x: print x,y,z if x%2!=1 and y%2!=1 and z%2!=1: print x,y,z if __name__=='__main__': number() ""

[LeetCode] Strobogrammatic Number 对称数

A strobogrammatic number is a number that looks the same when rotated 180 degrees (looked at upside down). Write a function to determine if a number is strobogrammatic. The number is represented as a string. For example, the numbers "69", "

C语言之基本算法38—格式化输出10000以内的全部完数

//穷举法! /* ================================================================== 题目:求10000以内的全部完数,统计数量并以例如以下格式输出: 28=1+2+4+7+14. 注:完数是除了本身外.其值等于包括1的全部因子之和! 如:28的全部因子是:1,2,4,7,28,除了28外其他因子的和=28,故28是完数! =====================================================

C语言之基本算法38—格式化输出10000以内的所有完数

//穷举法! /* ================================================================== 题目:求10000以内的所有完数,统计数量并以如下格式输出: 28=1+2+4+7+14. 注:完数是除了本身外,其值等于包含1的所有因子之和! 如:28的所有因子是:1,2,4,7,28,除了28外其它因子的和=28,故28是完数! =======================================================

一到一千之间的所有完数

//一个数如果恰好等于它的因子之和,这个数就称为"完数".(因子:除去这个数本身正的约数)//例如6=1+2+3.编程 找出1000以内的所有完数class  TestWanShu{    public static void main(String[] args)     {        int sum=0;        for(int i=1;i<=1000;i++){          for(int j=1;j<i;j++){              if(i

C语言笔试题精选1---求两个数之间较大的数,不使用if、while、switch、for、?:/以及任何比较语句

题目:求两个数a.b之间较大的数,不使用if.while.switch.for.?:/以及任何比较语句 #include <stdio.h> int min(int a, int b) { int d = a - b; int flag = ((unsigned int)d) >> 31; int array[] = {b, a}; return array[flag]; } int main(int argc, char *argv[]) { int i_min, a, b; s

程序猿之---C语言细节20(符号和有符号之间转换、两数相加溢出后数值计算)

主要内容:无符号和有符号之间转换.两数相加溢出后数值计算 #include <stdio.h> /* 这个函数存在潜在漏洞 */ float sum_elements(float a[], unsigned length) { int i; float result = 0; for(i = 0; i <= length - 1; i++) { result += a[i]; printf("a[%d] = %f \n",i,a[i]); } return resul

62.编程求所有的三位素数,且要求该数是对称数

//1.写一个函数判断一个数是否为素数 //2.判断该数是否是对称数 #include <iostream> #include <cmath> using namespace std; bool isPrime(int i) { for(int a=2; a<=sqrt(i); a++) { if(i%a==0) { return false; } } return true; } bool isHui(int i) { return (i/100==i%10); } int