20171206 水仙花数<一>

本文介绍了一种判断三位数是否为水仙花数的方法。水仙花数即一个三位数,其各个数字立方和等于该数本身。文章提供了一个简单的C语言程序实现。

Description

判断一个数是否为"水仙花数",所谓"水仙花数"是指这样的一人数:其各位数字的立方和等于该数本身。例如:371是一个"水仙花数",371=3^3+7^3+1^3.

Input

一个三位数

Output

1或者0(1代表此数为水仙花数,0代表此数不是水仙花数)

#include <stdio.h>  
int main()  
{  
    int i,j,k,m;
	scanf("%d",&i);   
        j=i/100;//百位数  
        m=i%10;//个位数   
        k=i/10-10*j;//百位数   
        if(i==j*j*j+k*k*k+m*m*m)//注意i==  
            printf("1");  
            else
			printf("0"); 
  
}

以下是对这段用于判断输入的三位是否为水仙花的 HTML 代码的详细解析: ### 整体结构 代码是个完整的 HTML 文档,包含了 `<!DOCTYPE html>` 声明,表明这是个 HTML5 文档。文档由 `<html>` 标签包裹,分为 `<head>` 和 `<body>` 两部分。 ### `<head>` 部分 ```html <head> <meta charset="utf - 8"> <title>判断水仙花</title> </head> ``` - `<meta charset="utf - 8">`:设置文档的字符编码为 UTF - 8,确保文档能正确显示各种语言字符。 - `<title>判断水仙花</title>`:设置浏览器窗口的标题为“判断水仙花”。 ### `<body>` 部分 ```html <body> <label for="inputNumber">请输入个三位:</label> <input type="number" id="inputNumber"> <button onclick="checkNarcissistic()">判断</button> <p id="result"></p> ``` - `<label for="inputNumber">请输入个三位:</label>`:创建个标签,提示用户输入个三位,`for` 属性的值与下面输入框的 `id` 对应,增强用户体验。 - `<input type="number" id="inputNumber">`:创建字输入框,用户可以在其中输入字,其 `id` 为 `inputNumber`,方便后续通过 JavaScript 获取输入的值。 - `<button onclick="checkNarcissistic()">判断</button>`:创建个按钮,点击该按钮会调用 `checkNarcissistic()` 函进行水仙花的判断。 - `<p id="result"></p>`:创建个段落元素,用于显示判断结果,其 `id` 为 `result`。 ### `<script>` 部分 ```javascript <script> function checkNarcissistic() { const num = parseInt(document.getElementById('inputNumber').value); if (isNaN(num) || num < 100 || num > 999) { document.getElementById('result').innerHTML = '请输入个有效的三位。'; return; } const ge = num % 10; const shi = Math.floor(num / 10) % 10; const bai = Math.floor(num / 100); if (Math.pow(ge, 3) + Math.pow(shi, 3) + Math.pow(bai, 3) === num) { document.getElementById('result').innerHTML = `${num} 是水仙花。`; } else { document.getElementById('result').innerHTML = `${num} 不是水仙花。`; } } </script> ``` - `function checkNarcissistic()`:定义个名为 `checkNarcissistic` 的函,用于判断输入的字是否为水仙花。 - `const num = parseInt(document.getElementById('inputNumber').value);`:获取输入框中的值,并将其转换为整类型。 - `if (isNaN(num) || num < 100 || num > 999)`:检查输入的值是否为有效的三位,如果不是,则在 `result` 段落中显示提示信息并返回,终止函执行。 - `const ge = num % 10;`:获取输入字的个位。 - `const shi = Math.floor(num / 10) % 10;`:获取输入字的十位。 - `const bai = Math.floor(num / 100);`:获取输入字的百位。 - `if (Math.pow(ge, 3) + Math.pow(shi, 3) + Math.pow(bai, 3) === num)`:判断每个位上的字的 3 次幂之和是否等于该本身,如果相等,则在 `result` 段落中显示该水仙花;否则,显示该不是水仙花
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值