码迷,mamicode.com
首页 > 其他好文 > 详细

程序员必做50道题

时间:2020-07-03 15:28:47      阅读:283      评论:0      收藏:0      [点我收藏+]

标签:一半   判断   随机   day   原来   etc   any   次方   name   

JS程序员必做50道题及其答案

 


//1.由4个数字 1,2,3,4,可以组成多少个互不相同的三位数
var str=‘‘;
for(var i=1;i<=4;i++)
{
for(var j=1;j<=4;j++)
{
for(var k=1;k<=4;k++)
{
if (!(i==j==k))
{
var a=i.toString(),b=j.toString(),c=k.toString();
str=a+b+c;
console.log(str);
}
}
}
}

//1.由四个不同的数字组成,比如 1,5,7,8

var str=‘‘;
var count=0;
var array=[1,5,7,8]
for(var i=0;i<4;i++)
{
for(var j=0;j<4;j++)
{
for(var k=0;k<4;k++)
{
if ((array[i]!=array[j])&&(array[j]!=array[k])&&(array[i]!=array[k]))
{
count+=1;
var a=array[i].toString(),b=array[j].toString(),c=array[k].toString();
str=a+b+c;
console.log(str);
}
}
}
}
console.log(‘总共有‘+count+‘个不同的三位数‘);

 

//3 一个整数加上100是完全平方数,加上168又是一个完全平方数

for(i=0;i<1000;i++)
{
var x=parseInt(Math.sqrt(a+100));
var y=parseInt(Math.sqrt(a+168));
if((x*x==(a+100))&&(y*y==(a+168))
{
console.log(a);
}
}

 

//4 输入某年某月某日,判断这一天是一年当中的第几天
var year=2100 ,month=3,day=10;
var monthArray1=[31,29,31,30,31,30,31,31,30,31,30,31];
var monthArray2=[31,28,31,30,31,30,31,31,30,31,30,31];
var result=0;
if (((year%4==0 && year%100!=0)|| year%400==0))
{
for(var i=0;i<month-1;i++)
{
result += monthArray1[i];
}
var newResult=result+day;
console.log(year +‘-‘+ month +‘-‘ +day +‘闰年的第‘+ newResult + ‘天‘);
}
else
{
for(var i=0;i<month-1;i++)
{
result += monthArray2[i];
}
var newResult=result+day;
console.log(year+‘-‘+ month +‘-‘+day +‘一年的第‘+ newResult + ‘天‘);
}

//5 输入三个数,把三个数按照从小到大排列输出
var a=3,b=4,c=1;
if(a>b)
{
var max1=a;
a=b;
b=max1;
}
console.log(a,b,c);
if(c<b)
{
var max2=b;
b=c;
c=max2;
}
console.log(a,b,c);
if(a>b)
{
var max3=a;
a=b;
b=max3;
}
console.log(a,b,c);


// 6 用*输出C字型的图案


var str=‘‘;
str+=‘ ‘+‘*‘+‘*‘;
str+=‘\n‘;
str+=‘*‘;
str+=‘\n‘;
str+=‘*‘;
str+=‘\n‘;
str+=‘ ‘+‘*‘+‘*‘;
console.log(str);

//7.将一个正整数分解质因数,例如输入90,打印出90=2*3*3*5


function primeCheck(n)
{
for(var i=2;i<n;i++)
{
if(n%i==0)
{
return false;

}

}
return true; //判断是不是质数
}

function prime(k)
{
var str=‘‘;
for(var t=2;t<k;t++)
{

if(k%t==0) //先遍历,看看能不能整除
{
if(primeCheck(t)) //再判断是不是质数
{
str+=t+‘*‘;
k/=t;
t=1; //让t从2开始循环
}

}
}
str+=k //最后一个必然是质数,必然不会被小于它的数整除
return str;
}

var a=prime(100);
console.log(a);

 

//8.输出9 9乘法表
for (var i=1;i<10 ;i++ )
{
var line=‘‘;
for(var j=1;j<=i;j++)
{
line += i+‘*‘+j+‘=‘+i*j +‘\n‘;
}
console.log(line);
}

 

//9.输出国际象棋

 

//10.古典问题:有一对兔子, 从出生后第 3个月起每个月都生一对兔子, 小兔子长到第三 个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
fibonaci数列

1.用递归的方法写
function fibonaci(n)
{
if(n<=2)
{
return 1
}
return fibonaci(n-1)+fibonaci(n-2);
}
console.log(fibonaci(6));

2.不用递归的方法写

function fibonaci(n)
{ var fibonaci1=1,fibonaci2=1;fib=0;
if(n<=2)
{return 1;}
for(i=3;i<=n;i++)
{ fib=fibonaci1+fibonaci2;
fibonaci1=fibonaci2;
fibonaci2=fib;
}
return fib;
}

console.log(fibonaci(100));

//判断101到200有多少个素数,并且输出
function primeCheck(n)
{
for(var i=2;i<Math.sqrt(n);i++)
{
if(n%i==0)
{
return false;

}


}
return true;

}
for(var k=101;k<201;k++)
{
var isPrime=primeCheck(k);
if(isPrime)
{
console.log(k);
}
}
//11.打印出所有的 “ 水仙花数 ” ,所谓 “ 水仙花数 ” 是指一个三位数,其各位数字立方和等于 该数本身。
例如:153是一个 “ 水仙花数 ” ,因为 153=1的三次方+5的三次方+3的三次方。

(1)
方法一 for(var a=1;a<10;a++){
for(var b=0;b<10;b++){
for(var c=0;c<10;c++){
if(a*a*a+b*b*b+c*c*c==a*100+b*10+c)
{
console.log(a*100+b*10+c);
}
}}}


方法二 for(var i=101;i<1000;i++)
{
var bai=parseInt(i/100);
var shi=parseInt((i%100)/10);
var ge=(i%100)%10;
if(bai*bai*bai+shi*shi*shi+ge*ge*ge==i)
{ console.log(i)}
}
方法三 将输入的三位数变成字符串,然后将字符串的每一个位取出组成一个数组
for(var i=101;i<1000;i++)
{
var a=i.toString();
var b=a.split(‘‘);
if(b[0]*b[0]*b[0]+b[1]*b[1]*b[1]+b[2]*b[2]*b[2]==i)
{
console.log(i);

}
}

//12 判断 101-200之间有多少个素数,并输出所有素数。
function primeCheck(n)
{
for(var i=2;i<Math.sqrt(n);i++)
{
if(n%i==0)
{
return false;

}


}
return true;

}
for(var k=101,count=0;k<201;k++)
{
var isPrime=primeCheck(k);
if(isPrime)
{
count++
console.log(k);
}
}
console.log(count);

//13 利用条件运算符的嵌套来完成此题:学习成绩 >=90分的同学用 A 表示, 60-89分之 间的用 B 表示, 6 0分以下的用 C 表示。
var great=92;
great>=60? (great>=90? console.log(‘A‘): console.log(‘B‘)):console.log(‘C‘);


//14 输入两个正整数 m 和 n ,求其最大公约数和最小公倍数。

function maxYue(a,b)
{ var n=0;
var array=[];
a<b? n=a: n=b;
for(i=2;i<n;i++)
{
if (a%i==0 && b%i==0)
{
array.push(i);

}
} // 把a 和 b 的公约数都放在一个数组里面
var max_yue=array[0];
for(var t=1;t<array.length;t++)
{
if(max_yue<array[t])
{
max_yue=array[t];
}
} //求出这个公约数数组的最大的那一个就是最大公约数
return max_yue;
}

function getBei(a,b)
{
for(var i=2;i>=2;i++)
{
var bei1=i*a;
if((bei1%b==0)&&(bei1!=b)) //加后面的与是为了避免第一个数的倍数等于第二个数
{
return bei1;
}
}
}

console.log(‘最大公约数是‘+maxYue(15,30));

console.log(‘最小公倍数是‘+getBei(15,30));

15.输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。


var str1=‘abc123 &-b‘;
var b=str1.split(‘‘);
for(var i=0,count1=0,count2=0,count3=0;i<b.length;i++)
{ if(b[i]===‘ ‘)
{
count1++; //代表空格的个数
}
var str2=Number(b[i]); //Number转换带有非数字的字符会返回Nan
if( isNaN(str2)) //如果是NAN,就代表非数字的字符
{

count2++; //代表字母和其他字符的个数之和
if( (b[i]>=‘a‘&&b[i]<=‘z‘)||(b[i]>=‘A‘&&b[i]<=‘Z‘)) //判断非数字的字符里面的属于字母的字符
{

count3++; //代表字母的个数
}
}
}
var count4=count2-count3 //代表除字母外的其他非数字字符的个数
var count5=b.length-count1-count2;
console.log(count1,count3,count4,count5);

 

//方法二:用正则判断
var reg1=/\d/g;
var reg2=/\s/g;
var reg3=/[A-Za-z]/g;
var len1=str.match(reg1).length;//返回数字的个数
var len2=str.match(reg2).length;//返回空格的个数
var len3=str.match(reg3).length;返回字母的个数



//16.求 s=a+aa+aaa+aaaa+aa...a的值,其中 a 是一个数字。例如 2+22+222+2222+22222(此 时共有 5个数相加 )
,几个数相加有键盘控制。

方法一:将每一位相加,然后用字符串拼接
function fn(a,n)
{ var array=[];
var str=‘‘
for(var i=n,num=0,jinwei=0;i>0;i--)
{
num=(a*i)%10+jinwei; //先从个位开始 得到该位的数
jinwei=parseInt((a*i)/10);//计算进位
// str+=num;
array.push(num); //放到数组里面去

}
for(var i=array.length-1;i>=0;i--) //数组逆序遍历
{
str+=array[i]; //将数组中的元素拼接到字符串里面去
}
return str; //返回字符串

}
console.log(fn(2,5));

方法二:从个位开始到最高位,依次开始加权相加

 

//17一个数如果恰好等于它的因子之和, 这个数就称为 “ 完数 ” 。 例如 6=1+2+3. 编程找出1000以内的所有完数。
function wanshu(k)
{
for(var i=1,str=‘‘;i<k;i++) //外层表示K以内任何的数
{
for(var b=1,array=[];b<i;b++) //内层表示寻找K以内某个数的质因子
{
if(i%b==0) //找出该数的所有因子
{
array.push(b);
}
}
for (var t=0,sum=0;t<array.length;t++ ) //遍历数组,将数组中的所有元素相加
{
sum+=array[t];
}
if(sum==i)
{
str+=i+‘ ‘;
}
}
return str;
}
console.log(wanshu(1000));

//18 一球从 100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第 10次落地时,共经过多少米?第 10次反弹多高?

function getHigh(h,n)
{
for(var i=1,sum=0;i<=n;i++)
{
sum+=h+h/2;
h/=2
}
return sum;

}
function high(h,n)
{
for(var i=1;i<=n;i++)
{
h/=2;
}
return h;
}


console.log(getHigh(100,12));
console.log(high(100,12));


//19 :猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半, 又多吃了一个。
以后每天早上都吃了前一天剩下的一 半零一个。到第 10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

function taozi(i)
{
var leave=1;

do
{ leave=(leave+1)*2;
i--

}
while (i>=1);
return leave;
}
console.log(taozi(9));

//20 两个乒乓球队进行比赛,各出三人。甲队为 a,b,c 三人,乙队为 x,y,z 三人。已抽签决 定比赛名单。
有人向队员打听比赛的名单。 a 说他不和 x 比, c 说他不和 x,z 比,请编程序 找出三队赛手的名单。

 

 

 

 


//21有一分数序列:2/1, 3/2, 5/3, 8/5, 13/8, 21/13...求出这个数列的前 20项之和。

var fib1=2,fib2=3,fib=0,i=3; //分子
var afib1=1,afib2=2,afib=0; //分母
var sum1=fib1+fib2;
var sum2=afib1+afib2;

 

do
{
fib=fib1+fib2;
fib1=fib2;
fib2=fib; //分子是fibonaci 数列 前20项相加
sum1+=fib;

afib=afib1+afib2;
afib1=afib2; //分母也是fibonaci 数列 前20项相加
afib2=afib;
sum2+=afib;

i++;
}
while (i<21);

var total=sum1/sum2;
console.log(total);

 

//22 求 1+2!+3!+...+20!的和
function jc(k)
{ if(k<=1)
{
return 1;
}

return k*jc(k-1);

}
function add(n)
{ var sum =0;
for(var i=1;i<=n;i++)
{
sum+=jc(i);
}
return sum;
}
var a=add(20);
console.log(a);


//23利用递归方法求 5! 。
function jc(k)
{ if(k<=1)
{
return 1;
}

return k*jc(k-1);

}
console.log(jc(5));
//24利用递归函数调用方式,将所输入的 5个字符,以相反顺序打印出来。


var str1=‘abcde‘;
var b=str1.split(‘‘);
var str=‘‘;
function nixu(i)
{
if(i==0)
{
return b[0];
}

return str+=b[i]+nixu(i-1)
}
console.log(nixu(4));


//25 有 5个人坐在一起,问第五个人多少岁?他说比第 4个人大 2岁。问第 4个人岁数,
他说比第 3个人大 2岁。 问第三个人,又说比第 2人大两岁。 问第 2个人, 说比第一个人大 两岁。
最后问第一个人,他说是 10岁。请问第五个人多大?

var age=0;
function age(i)
{

if(i==1)
{
return 10;
}
return age=age(i-1)+2;
}
console.log(age(5));

// 26 给一个不多于 5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。

var a=12345;
function panduan (k)
{ var c=k.toString();
var b=c.split(‘‘);
var str=‘‘,str1=‘‘;

switch(b.length)
{
case 1: str=‘这是一个一位数‘;break;
case 2: str=‘这是一个两位数‘;break;
case 3: str=‘这是一个三位数‘;break;
case 4: str=‘这是一个四位数‘;break;
case 5: str=‘这是一个五位数‘;break;
default:str=‘输入错误‘;
}
for(var i=b.length-1;i>=0;i--)
{
str1+=b[i];
}
return str+‘ ‘+str1;
}
console.log(panduan(a));


//27 一个 5位数,判断它是不是回文数。即 12321是回文数,个位与万位相同,十位与千 位相同
var a=12321;
function panduan (k)
{ var c=k.toString();
var b=c.split(‘‘);
if(b[0]==b[4]&&b[1]==b[3])
{
return ‘这是一个回文数‘;
}
else
{
return ‘这不是一个回文数‘;
}
}
console.log(panduan(a));


//方法一 遍历数组得到
function nixu(arr)
{ var newArr=[];
for(var i=0;i<arr.length;i++)
{
newArr[i]=arr[arr.length-1-i];
}
return newArr;
}
console.log(nixu([1,3,4,9]));

//方法二 递归输出

var str=‘‘;
var a=[1,2,3,4];
function nixu(i)
{
if(i==0)
{
return str+=a[0];
}

return str+=a[i]+nixu(i-1)
}
console.log(nixu(3).split(‘‘));

 

//28请输入星期几的第一个字母来判断一下是星期几, 如果第一个字母一样, 则继续判断 第二个字母。
while(true)
{
var a=prompt(‘please input the first char‘);
if(a==‘m‘){alert(‘星期一‘);}
else if(a==‘w‘){alert(‘星期三‘);}
else if(a==‘f‘){alert(‘星期五‘);}
else if(a==‘t‘){a=prompt(‘please input the second char‘);
if(a==‘u‘){alert(‘星期二‘);}
if(a==‘h‘){alert(‘星期四‘);}}
else if(a==‘s‘){a=prompt(‘please input the second char‘);
if(a==‘a‘){alert(‘星期六‘);}
if(a==‘u‘){alert(‘星期日‘);}}
else
alert(‘wrong input!‘);
}
//29 对 10个数进行排序
/*function exchange(str)
{
for(var i=0;i<str.length-1;i++)
{
for(var j=0;j<str.length-1-i;j++)
{
if(str[j]>str[j+1])
{
var swap=str[j];
str[j]=str[j+1];
str[j+1]=swap;
}
}
}
}
inputStr=[1,4,2,5,11];
console.log(‘排序之前的数组‘ + inputStr);
exchange(inputStr);
console.log(‘排序之后的数组‘ + inputStr);

//30 求一个 3*3矩阵对角线元素之和

 

//31 有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。

 


//32 将一个数组逆序输出。
//方法一 遍历数组得到
function nixu(arr)
{ var newArr=[];
for(var i=0;i<arr.length;i++)
{
newArr[i]=arr[arr.length-1-i];
}
return newArr;
}
console.log(nixu([1,3,4,9]));

//方法二 递归输出

var str=‘‘;
var a=[1,2,3,4];
function nixu(i)
{
if(i==0)
{
return str+=a[0];
}

return str+=a[i]+nixu(i-1)
}
console.log(nixu(3).split(‘‘));

方法三:用数组的API reverse()

//附加题:在一定范围内产生随机数
function getRandomNum(min,max)
{
var range=max-min;
var rand=Math.random();
return (min+Math.floor(rand*range))
}

console.log(getRandomNum(10,34)); 会随机打印出在10到34之间的数

//附加题:福利彩票双色球
function getRandomNum(min,max)
{
var range=max-min;
var rand=Math.random();
return min+Math.floor(rand*range); //产生0到32的下标

}
var arrRedRandom=[];

var arrRed=[‘01‘,‘02‘,‘03‘,‘04‘,‘05‘,‘06‘,‘07‘,‘08‘,‘09‘,10, //红色球号码
11,12,13,14,15,16,17,
18,19,20,21,22,23,24,
25,26,27,28,29,30,31,32,33];
var arrBlue=[‘01‘,‘02‘,‘03‘,‘03‘,‘04‘,‘05‘,‘06‘,‘07‘,‘08‘,‘09‘,10,11,12,13,14,15,16];
for(var i=0;i<6;i++)
{

var index=getRandomNum(0,arrRed.length); //随机产生下标
arrRedRandom.push(arrRed[index]); //向数组中插入该下标的数组元素
arrRed.splice(index,1); //插入这个数后,就把数组库里的这个元素删除掉,以免下次随机产生的时候重复
}

console.log(‘红色双号球的号码:‘+‘ ‘+arrRedRandom);
var index1=getRandomNum(0,arrBlue.length);
var str=arrBlue[index1];
console.log(‘蓝色单号球的号码:‘+‘ ‘+str)
var redAddBlue=arrRedRandom.concat(Number(str));
console.log(redAddBlue)

 

33.打印出杨辉三角形(要求打印出 10行如下图)

 

 

 


34 输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组
var str=[1,2,0,5,6,2]
for(var i=1, temp=0;i<str.length;i++) //假设第一个数是最大的,和后面的数两两比较,如果大于第一个数,就交换
{
if(str[0]<str[i])
{
temp=str[0]
str[0]=str[i]
str[i]=temp
}
}

for(var i=str.length-2,temp=0;i>=0;i--) //假设最后一个数是最大的,和前面的数两两比较,如果小于第一个数,就交换
{
if(str[str.length-1]>str[i])
{
temp=str[str.length-1];
str[str.length-1]=str[i]
str[i]=temp;
}
}
console.log(str);

 


var str=[1,2,0,5,6,2]
for(var i=1,j=str.length-2 ,temp1=0,temp2=0;i<str.length,j>=0;i++,j--) //两个for写在一起
{
if(str[0]<str[i])
{
temp1=str[0]
str[0]=str[i]
str[i]=temp1
}
if(str[str.length-1]>str[j])
{
temp2=str[str.length-1];
str[str.length-1]=str[j]
str[j]=temp2;
}
}
console.log(str)

36//有 n 个人围成一圈,顺序排号。从第一个人开始报数(从 1到 3报数) ,凡报到 3的 人退出圈子,问最后留下的是原来第几号的那位。

var n=10
var str=‘留下人的数字号码是:‘
var i=1;
do
{ if(i%3!=0)
{
str+=‘ ‘+i;
}
i++;
}
while (i<=n);
console.log(str);

37:写一个函数,求一个字符串的长度,在 main 函数中输入字符串,并输出其长度。

38:编写一个函数,输入 n 为偶数时,调用函数求 1/2+1/4+...+1/n,当输入 n 为奇数时,调 用函数 1/1+1/3+...+1/n
function addDouble(n)
{
var sum=0;
var i=2;
do
{
sum+=(1/i)
i+=2
}
while (i<=n);
return sum;
}

function addinDouble(n)
{
var sum=0;
var i=1;
do
{
sum+=(1/i)
i+=2
}
while (i<=n);
return sum;
}
var n=10;
n%2==0&&console.log(addDouble(n))
n%2!=0&&console.log(addinDouble(n))

39:海滩上有一堆桃子, 五只猴子来分。 第一只猴子把这堆桃子凭据分为五份, 多了一个, 这只猴子把多的一个扔入海中,
拿走了一份。 第二只猴子把剩下的桃子又平均分成五份, 又 多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、
第五只猴子都是这样做 的,问海滩上原来最少有多少个桃子?

 


43//一个偶数总能表示为两个素数之和。
function isPrime(k) //判断是不是素数
{
for(var i=2;i<k;i++)
{
if(k%i==0)

{
return false
}
}
return true
}
function isDoubleNum(t) //判断是不是偶数
{
if(t%2!=0)
{
return false
}
else
{
return true
}
}
function anyDoubleNum(n) //先找小于该数的素数,用该数减去该素数,载判断剩下的是不是素数,一旦是的话,就return
{
if(isDoubleNum(n))
{
for(var i=2;i<n;i++)
{
if(isPrime(i))
{
var k=n-i;
if(isPrime(k)&&k>=2)
{
console.log(n,i,k)
return ;
}
}
}
}
}
anyDoubleNum(4);//调用函数

 

//附加题 将字符串的首字母变成大写字母
var str1=‘miao-wei-ke-tang‘
function strToUpperCase(str)
{
var arr=str.split(‘-‘)
for(var i=0;i<arr.length;i++)
{
arr[i]=arr[i].substr(0,1).toUpperCase()+arr[i].substr(1)
}

var res=arr.join(‘‘)
return res;
}

console.log(strToUpperCase(str1))

//附加题:去掉字符串中前后的空格
var str1=‘ abc d ‘
function myTrilm(str)
{
var start=0; //
var end=str.length-1;
while(!str.charAt(start)&&!str.charAt(start+1))
{
start++;
}
while(!str.charAt(end)&&!str.charAt(end-1))
{
end--;
}
var newStr=str.slice((start+1),end)
return newStr;
}
console.log(str1)
console.log(myTrilm(str1))

 

//附加题 写一个方法,找出字符串‘abcabcabcabda’中ab出现的次数和位置

function getCountandLocation(str)
{ var count=0;
var locate=[];
for(var i=0;i<str.length;i++)
{
if((str.charAt(i)==‘a‘)&&(str.charAt(i+1)==‘b‘))
{
count++;
locate.push(i+1);
}
}
var res=locate.concat(count)
return res;
}
console.log(getCountandLocation())

//判断是函数 数组 对象的几种方法


var arr=[1,2];
function fun(){}
var obj={};

console.log(arr instanceof Array);
console.log(obj instanceof Object);


console.log([].constructor == Array); //true
console.log({}.constructor == Object); //true
console.log("string".constructor == String); //true
console.log((123).constructor == Number); //true
console.log(true.constructor == Boolean); //true

function isArray(o) {
   return Object.prototype.toString.call(o);
}
var arr=[2,5,6,8];
var obj={name:‘zhangsan‘,age:25};
var fn = function () {}
console.log(isArray(arr)); //[object Array]
console.log(isArray(obj)); //[object Object]
console.log(isArray(fn)); //[object function]


//随机生成10-100的10个数字,并且升序排列。


function getArr(min,max,len)
{

var arr=[]; //写一个空数组来接收产生的随机数
var range=max-len+1;
for(var i=0;i<=len-1;i++)
{
var a=Math.floor(Math.random()*range+min);//随机生成10-100

if(arr.indexOf(a)==-1)//如果该数组中的没有该数就将数放进数组中
{
arr.push(a);
}
else{//如果该数组中有这个数字,就重新循环一次生成随机数
i--;
}
}
arr.sort(function(a,b){return a-b;})
return arr;
}
console.log(getArr(10,100,10));

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

程序员必做50道题

标签:一半   判断   随机   day   原来   etc   any   次方   name   

原文地址:https://www.cnblogs.com/maibao666/p/13230539.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!