在某个范围内,找出具有水仙花特征的数字

打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:

153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。

 1 public class daffodil {
 2
 3     public static void main(String args[]){
 4         sows(100,999);
 5     }
 6
 7     private static void sows(int num1, int num2) {
 8
 9             int one,ten,hundred;
10
11             /**
12              * 从num1到num2 进行循环,找出具有水仙花特征的数量
13              */
14             for(int i=num1;i<=num2;++i){
15                    hundred=i/100;
16                    ten=(i-hundred*100)/10;
17                    one=i-hundred*100-ten*10;
18
19                    if(i==(Math.pow(hundred,3)+Math.pow(ten,3)+Math.pow(one,3)))
20                        System.out.println("水仙花的数据:"+i+ " 百位数是"+hundred+" 十位数是"+ten+" 个位数"+one);
21
22             }
23     }
24 }

run:
水仙花的数据:153 百位数是1 十位数是5 个位数3
水仙花的数据:370 百位数是3 十位数是7 个位数0
水仙花的数据:371 百位数是3 十位数是7 个位数1
水仙花的数据:407 百位数是4 十位数是0 个位数7
成功构建 (总时间: 0 秒)

时间: 2024-10-29 00:03:59

在某个范围内,找出具有水仙花特征的数字的相关文章

[华为机试练习题]43.在字符串中找出连续最长的数字串

题目 描述: 请一个在字符串中找出连续最长的数字串,并把这个串的长度返回:如果存在长度相同的连续数字串,返回最后一个连续数字串: 注意:数字串只需要是数字组成的就可以,并不要求顺序,比如数字串"1234"的长度就小于数字串"1359055",如果没有数字,则返回空字符串("")而不是NULL! 样例输入 abcd12345ed125ss123058789 abcd12345ss54761 样例输出 输出123058789,函数返回值9 输出547

找出数组中重复的数字(c语言)

让人瑟瑟发抖的面试题... 来我们看一下题目在一个 长度为n的数组里的所有数字都在0~n-的范围内.数组中某些数字是重复的,但不知道有几个数字重复伦理,也不知道每个数字重复了多少次,找出任意一个重复的数字注意:时间复杂度O(n),空间复杂度O(1) 怎么解决勒???分析:利用题目中0~n-1范围,可以运用数组下标和数组内容进行比较if (arr[i] != arr[arr[i]]),如果不相等时,进行调换,相等时,直接返回值来看看代码 #include<stdio.h> #define SIZ

在字符串中找出连续最长的数字串 在字符串中找出连续最长的数字串,并把这个串的长度返回

写一个函数,它的原形是int continumax(char *outputstr,char *intputstr)功能:在字符串中找出连续最长的数字串,并把这个串的长度返回,并把这个最长数字串付给其中一个函数参数outputstr所指内存.例如:"abcd12345ed125ss123456789"的首地址传给intputstr后,函数将返回9, #include<iostream> using namespace std; int ContinueMax(char *

【LeetCode-面试算法经典-Java实现】【153-Find Minimum in Rotated Sorted Array(找旋转数组中的最小数字)】

[153-Find Minimum in Rotated Sorted Array(找旋转数组中的最小数字)] [LeetCode-面试算法经典-Java实现][所有题目目录索引] 原题 Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2). Find the minimum element. You m

【LeetCode-面试算法经典-Java实现】【155-Find Minimum in Rotated Sorted Array II(找旋转数组中的最小数字II)】

[154-Find Minimum in Rotated Sorted Array II(找旋转数组中的最小数字II)] [LeetCode-面试算法经典-Java实现][所有题目目录索引] 原题 Follow up for "Find Minimum in Rotated Sorted Array": What if duplicates are allowed? Would this affect the run-time complexity? How and why? Supp

测试题目:两个有序数组,找出最大的五个数字组成一个新的数组

注意点: 1.输入两行的方法 2.两行输入的数量和小于5的情况 1 //评测题目: 两个有序数组,找出最大的五个数字组成一个新的数组 2 #include <iostream> 3 #include <vector> 4 #include <cstring> 5 #include <bits/stdc++.h> 6 using namespace std; 7 8 vector<int> getTop5(vector<int>&

1.逆向分析之壳内找注册码

先看看特点有:估计注册码是通过不同电脑与用户名自动生成的 注意关键字符串 这里就从字符串下手 查壳 (有壳)载入od断下来了由于有壳所以先f9运行运行起来了就不管你怎么加密 最后都要解密加载定位到 代码段 (ctrl+g) 输入0x401000搜索字符串(一般用智能搜索)搜索 未购买(怎么就搜那个 我搜了好多这个管用)点击进入代码段往上看 看到了一些重要信息 加载注册表(因为是启动时检查密码 用户名很定保存在注册表里) 下断 可以多下几个ctrl+f2重新启动 又断在第一个断点查看断点 发现断点

字符串中找出连续最长的数字串(正则表达式)

题目描述 读入一个字符串str,输出字符串str中的连续最长的数字串 输入描述: 个测试输入包含1个测试用例,一个字符串str,长度不超过255. 输出描述: 在一行内输出str中里连续最长的数字串. 示例1 输入 abcd12345ed125ss123456789 输出 123456789 1 /** 2 * 3 * 4 用正则表达式 替换 非数字 字符 在用 split 分割 得到 字符串数组 5 * @author Dell 6 * 7 */ 8 import java.util.Scan

经典算法学习——快速找出数组中两个数字,相加等于某特定值

这个算法题的描述如下:快速找出一个数组中的两个数字,让这两个数字之和等于一个给定的值.目前我假设数组中的都是各不相等的整数.这道题是我在一次面试中被问到的,由于各种原因,我没回答上来,十分尴尬.其实这道题十分简单,我们使用相对巧妙的方法来实现下.注意不使用两层循环的元素遍历.示例代码上传至:https://github.com/chenyufeng1991/SumTo100 . 算法描述如下: (0)首先对原数组进行排序,成为递增数组: (1)对排序后的数组头部i [0]和数组尾部j [n-1]