我现在在做javascript的题,有几道题不会,请大家帮帮我。

1.输出四位自然数中各位数字之和为6并且各位数字互不相同的数,并统计个数。

2.由数字1、2、3、4、5、6六个数字共可组成多少个没有重复数字的四位数,输出这些数据并统计个数。

3.某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。

4.一个六位自然数,将其末位数字7移到首位,其余数字依次向右移动一位,得到一个新的六位数,新的六位数是原六位数的4倍,求原数。

5.有一个两位数,如果在它的前面添一个3,可得到一个三位数,把3添在它的后面,也可以得到一个三位数,这两个三位数相差468,求原来的两位数。

 //1.输出四位自然数中各位数字之和为6并且各位数字互不相同的数,并统计个数。
var test1=function(){
    var count=0;
    for(var i=1000;i<=9999;i++){
        var nums=i.toString();
        var sum=0;
        for(var j=0;j<nums.length;j++){
            sum+=parseInt(nums[j]);
        }
        if(sum===6){
            console.log(i);
            count++;
        }
    }
    console.log(count);
}
//2.由数字1、2、3、4、5、6六个数字共可组成多少个没有重复数字的四位数,输出这些数据并统计个数。
var test2=function(){
    var result=[];
    var eles="123456";
    for(var i=0;i<eles.length;i++){
        for(var j=0;j<eles.length;j++){
            for(var k=0;k<eles.length;k++){
                for(var l=0;l<eles.length;l++){
                    if(eles[i]!==eles[j]&&eles[j]!==eles[k]&&eles[k]!==eles[l]&&eles[i]!==eles[k]&&eles[i]!==eles[l]&&eles[j]!==eles[l]){
                        var num=parseInt(eles[i]+eles[j]+eles[k]+eles[l]);
                        if(result.indexOf(num)===-1){
                            console.log(num);
                            result.push(num);
                        }
                    }
                }
            }
        }
    }
    console.log(result.length);
}
/*
3.某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。 
*/
var test3=function(n){
    var nums=n.toString().split('');
    if(nums.length===4){
        for(var i=0;i<nums.length;i++){
            nums[i]=(parseInt(nums[i])+5)%10;
        }
        var trans=nums[0];
        nums[0]=nums[3];
        nums[3]=trans;
        trans=nums[1];
        nums[1]=nums[2];
        nums[2]=trans;
        return nums.join('');
    }
    return n;
}
/*
4.一个六位自然数,将其末位数字7移到首位,其余数字依次向右移动一位,得到一个新的六位数,新的六位数是原六位数的4倍,求原数。
*/
var test4=function(){
    /*
    题目理解为算式
    (700000+x)/(10x+7)=4;
    39x=699972;
    */
    var x=699972/39;
    var result=x*10+7;
    console.log(result);
}
/*
5.有一个两位数,如果在它的前面添一个3,可得到一个三位数,把3添在它的后面,也可以得到一个三位数,这两个三位数相差468,求原来的两位数。
*/
var test5=function(){
    /*
    题目理解为算式
    468=|(300+x)-(10x+3)|
    468=|297-9x|
    468=297-9x或-468=297-9x;
    */
    var x1=(468-297)/-9;
    var x2=(-468-297)/-9;
    console.log("x1:"+x1+",x2:"+x2);
}