//程序1.
//有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
//此方法循环执行了n*n*(n-1)次 48次
function num(n){
for (var i=1,s=0;i<=n ;i++ ){
for (var j=1;j<=n ;j++ ){
if(i==j)continue;
for (var k=1;k<=n ;k++ ){
if (j!=k && i!=k){
s++;
console.log(100*i+10*j+k);
}
}
}
}
return s;
}
var f=num(4);
console.log(f);
//--------------------------------------------------------------------------------------------------------------------------------------
//程序2.
//企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时,高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%;高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?
var I=120;
if (I<=10){
console.log(0.1*I);
}else if (I>10 && I<=20){
console.log(0.25+0.075*I);
}else if (I>20 && I<=40){
console.log(0.75+0.05*I);
}else if (I>40 && I<=60){
console.log(1.55+0.03*I);
}else if (I>60 && I<=100){
console.log(2.45+0.015*I);
}else{
console.log(2.95+0.01*I);
}
//------------------------------------------------------------------------------------------------------------------------------------
//程序3.
//一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数时多少?
//方法一
for (var j=1;j<=10000; j++){
for (var i=1;i<=j; i++){
var a=i*i-100
var b=j*j-268;
if (a==b){
console.log(a);
}
}
}
//方法二
//令这个数x,y*y=x+100,(y+n)*(y+n)=y*y+168->(y=84/n - 0.5*n)>=0 ->0<n<=13
for (var n=1 ;n<=13 ;n++ ){
var y=84/n - 0.5*n;
if (y==parseInt(y)){
var x=y*y-100;
console.log(x,n);
}
}
//------------------------------------------------------------------------------------------------------------------------------------
//程序4.
//输入某年某月某日,判断这一天是这一年的第几天?
//year->y month->m day-d
function getYear(y){
if (y%4==0 && y%100!=0 || y%400==0){
return true;
}else{
return false;
}
};
var y=2019,m=12,d=18;
var sum=0;
if (m>12 || d>31){
console.log('日期输入错误');
}else{
if (getYear(y)){
switch (m){
case 1:
sum=d;
break;
case 2:
sum=31+d;
break;
case 3:
sum=d+31+29;
break;
case 4:
sum=d+31+29+31;
break;
case 5:
sum=d+31+29+31+30;
break;
case 6:
sum=d+31+29+31+30+31;
break;
case 7:
sum=d+31+29+31+30+31+30;
break;
case 8:
sum=d+31+29+31+30+31+30+31;
break;
case 9:
sum=d+31+29+31+30+31+30+31+31;
break;
case 10:
sum=d+31+29+31+30+31+30+31+31+30;
break;
case 11:
sum=d+31+29+31+30+31+30+31+31+30+31;
break;
default:
sum=d+31+29+31+30+31+30+31+31+30+31+30;
}
console.log(sum);
}else{
var sum1=0,sum2=0;
for (var i=1;i<=m-1 ;i++ ){
if (i==1 || i==3 || i==5 || i==7 || i==8 || i==10 || i==12){
var n=parseInt(i/20);
sum1+=(n+1)*31;
}else if (i==4 || i==6 || i==9 || i==11 ){
var n=parseInt(i/20);
sum2+=(n+1)*30;
}else if(i==2){
var sum3=28;
}
sum=d+sum1+sum2+sum3;
}
console.log(sum);
}
}
//------------------------------------------------------------------------------------------------------------------------------------
//程序5.
//输入三个整数x,y,z,请把这三个数由小到大输出。
//方法一
function num(x,y,z){
var minFirst,minSecond,minThird,min,min2;
if (x<y){
min=x;min2=y
}else{
min=y;min2=x
}
if (min<z){
minFirst=min;
if (min2<z){
minSecond=min2;
minThird=z;
}else{
minSecond=z;
minThird=min2;
}
}else{
minFirst=z;
minSecond=min;
minThird=min2;
}
return minFirst+' '+minSecond+' '+minThird;
}
var n=num(13,8,16)
console.log(n);
//方法二
function num(x,y,z){
if (x<y && x<z){
min1=x;
if (y<z){
min2=y;
min3=z;
}
}else if (y<z){
min1=y;
if (x<z){
min2=x;
min3=z;
}
}else{
min1=z;
if (x<y){
min2=x;
min3=y;
}
}
return min1+' '+min2+' '+min3;
}
var n=num(13,8,16)
console.log(n);
//------------------------------------------------------------------------------------------------------------------------------------
//程序6.
//用*号输出字母C的图案.
// *****
// *
// *
// *
// *****
//方法一
for (var j=1;j<=5 ;j++ ){
if (j==1 || j==5){
for (var i=1,str='';i<=5 ;i++){
str+='*';
}
}else if (j==2 || j==3 || j==4){
for (var i=1,str='';i<=1 ;i++){
str+='*';
}
}
console.log(str);
}
//方法二
console.log(' '+'***');
console.log(' '+'*');
console.log(' '+'*');
console.log(' '+'***');
//-----------------------------------------------------------------------------------------------------------------------------------
//程序7
//将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5
var a=90;
var num=a;
var arr=[];
if(a==1){
console.log('1没有质因数');
}else{
for (var i=2,j=0;i<=a;i++){
if (a%i==0){
a/=i;
arr[j]=i;
j++;
i=1;
}
}
console.log(num+'='+arr.join('*'));
}
//------------------------------------------------------------------------------------------------------------------------------------
//程序8
//输出9*9口诀
//方法一-正
for (var i=1;i<=9;i++){
for(var j=1,str='';j<=i;j++){
str+=j+'*'+i+'='+i*j+' ';
}
console.log(str);
}
//方法二-倒
for (var i=9;i>=1;i--){
for(var j=i,str='';j>=1;j--){
str+=j+'*'+i+'='+i*j+' ';
}
console.log(str);
}
//------------------------------------------------------------------------------------------------------------------------------------
//程序9
//要求输出国际象棋棋盘
for(var i=1;i<=8;i++){
for(var j=1,str='';j<=8;j++){
if((i+j)%2==1){
str+='■';
}else{
str+='□';
}
}
console.log(str);
}
//程序10
//古典问题:有一对兔子,从出生后第3个月过后每个月都生一对兔子,小兔子长到第三个月之后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数是多少?
var m=10;
for(var i=1,sum=0;i<=m;i++){
if(i<=3){
sum=2;
}else if(i<=6){
sum+=2;
}else{
sum+=2*i-10;
}
console.log(sum);
}