计算并列出用数字 0 到 9 可以组成多少个不同的 4 位数字?

Calculate and list how many different 4 digit numbers can be done with the numbers 0 to 9?

有想学的东西

假设我们有一些个位数。

示例: 1-2-3-4-5-6-7-8-9-0 例子二:1-2-4-6-0

利用这些数字,我们希望得到 4-digit 个彼此不同的数字。 我们想将它们打印为列表。

结果:

可以这样做吗?

您可以编写 运行 像这样的宏:

// retrieve the selected text
str = document.selection.Text;

// check the input string format. The input must be something like: "1-2-4-6-0"
if( str.length == 0 ) {
    alert( "Select the input string" );
    Quit();
}
for( i = 0; i < str.length; ++i ) {
    c = str.substr( i, 1 );
    if( i % 2 == 0 ) {
        if( c < '0' || c > '9' ) {
            alert( "not digit" );
            Quit();
        }
    }
    else {
        if( c != '-' ) {
            alert( "not separated by '-'" );
            Quit();
        }
    }
}

var arr = new Array();
j = 0;
for( i = 0; i < str.length; ++i ) {
    if( i % 2 == 0 ) {
        c = str.substr( i, 1 );
        arr[j++] = c;
    }
}

if( arr.length < 4 ) {
    alert( "Input string should contain at least 4 digits" );
    Quit();
}

// list all 4-digit combinations
len = arr.length;
str = "";
for( i = 0; i < len; ++i ) {
    for( j = 0; j < len; ++j ) {
        for( k = 0; k < len; ++k ) {
            for( l = 0; l < len; ++l ) {
                str += arr[i] + arr[j] + arr[k] + arr[l] + "\r\n";
            }
        }
    }
}

// write the list in a new document
editor.EnableTab = true;
editor.NewFile();
document.write( str );

到运行这个,保存这个代码,例如GenCombinations.jsee,然后select这个文件从Select... 菜单中。最后,select运行GenCombinations.jsee菜单之后select输入字符串.