javascript编写同构数
时间: 2023-06-09 20:03:51 浏览: 78
同构数是指一个数的各位数字重新排列后所得到的另一个数,如果这两个数相等,则被称为同构数。在JavaScript中,可以先将数字转化为字符串,再将字符串转化为数组,使用sort()方法对数组进行排序,最后将数组拼接成字符串并转化为数字,即可得到同构数。以下是一个示例代码:
function isIsomorphic(num1, num2) {
// 将数字转化为字符串,并转成数组
const arr1 = Array.from(num1.toString());
const arr2 = Array.from(num2.toString());
// 对数组进行排序,并将数组转化成字符串再转化成数字
const sortNum1 = parseInt(arr1.sort().join(''));
const sortNum2 = parseInt(arr2.sort().join(''));
// 判断两个数是否相等
if(sortNum1 === sortNum2) {
return true;
} else {
return false;
}
}
console.log(isIsomorphic(123, 321)); // true
console.log(isIsomorphic(123, 456)); // false
相关问题
利用JavaScript编写程序,找出1到99之间的同构数。同构数是这样的一组数,它出现在平方数的右边,例如:5是25右边的数,25是625右边的数,5和25都是同构数。(在页面上显示出同构数)
好的,以下是利用 JavaScript 编写的程序,可以找出1到99之间的同构数,并在页面上显示出来:
```html
<!DOCTYPE html>
<html>
<head>
<title>同构数</title>
<meta charset="utf-8">
<script type="text/javascript">
function isAutomorphicNumber(num) {
var square = num * num;
while (num > 0) {
if (num % 10 != square % 10) {
return false;
}
num = Math.floor(num / 10);
square = Math.floor(square / 10);
}
return true;
}
window.onload = function() {
var result = "";
for (var i = 1; i < 100; i++) {
if (isAutomorphicNumber(i)) {
result += i + " ";
}
}
document.getElementById("output").innerHTML = "1到99之间的同构数有:" + result;
};
</script>
</head>
<body>
<div id="output"></div>
</body>
</html>
```
程序中定义了一个 `isAutomorphicNumber()` 函数,用于判断一个数是否为同构数。该函数首先计算出该数的平方值,然后从右向左逐个比较该数和平方值的每一位数字,如果有不相同的则说明该数不是同构数,返回 false;如果所有位数字都相同,则说明该数是同构数,返回 true。
程序的主体是在 `window.onload` 事件中执行的,会遍历1到99之间的所有数,调用 `isAutomorphicNumber()` 判断是否为同构数,并将结果拼接到一个字符串 `result` 中。最后将这个字符串显示在页面上。
您可以将上述代码保存为一个 HTML 文件并在浏览器中打开来查看结果。
用JavaScript编写程序输出一个区间段中所有同构数。同构数是指这个数为该数平方的尾数,例如5的平方为25,6的平方为36,25的平方为625,则5、6、25都为同构数。
好的,我明白了。以下是用JavaScript编写程序输出一个区间段中所有同构数的代码:
```javascript
function isIsomorphic(num) {
let square = num * num;
let str1 = num.toString();
let str2 = square.toString().substr(-str1.length);
return str1 === str2;
}
function findIsomorphicNumbers(start, end) {
let isomorphicNumbers = [];
for (let i = start; i <= end; i++) {
if (isIsomorphic(i)) {
isomorphicNumbers.push(i);
}
}
return isomorphicNumbers;
}
let start = 1;
let end = 100;
let isomorphicNumbers = findIsomorphicNumbers(start, end);
console.log(isomorphicNumbers);
```
在这个程序中,我们定义了两个函数:
- `isIsomorphic(num)`:用于判断一个数是否为同构数。
- `findIsomorphicNumbers(start, end)`:用于在指定区间内查找所有的同构数。
我们首先通过 `isIsomorphic(num)` 函数来判断一个数是否为同构数。该函数的实现是先计算该数的平方,然后将该数和该数平方的最后几位进行比较,判断它们是否相等。
接着,我们通过 `findIsomorphicNumbers(start, end)` 函数来找到指定区间内的所有同构数。该函数的实现是通过一个循环来遍历指定区间内的所有数,然后对每个数都调用 `isIsomorphic(num)` 函数来判断它是否为同构数。如果是同构数,则将它加入到 `isomorphicNumbers` 数组中。
最后,我们定义了一个起始数和终止数,并调用 `findIsomorphicNumbers(start, end)` 函数来找到指定区间内的所有同构数。程序会输出这些同构数。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)