打印出所有的水仙花数
题目打印出所有的“水仙花数”,所谓“水仙花数”是指2
printf("order is a--%c\tb--%c\tc--%c\n",i,j,k);
}
}
}
}
❖ 题目:输入两个正整数m和n,求其最大公约数和最小 公倍数。
❖ 程序分析:利用辗除法
❖ GCD(A, B)=GCD(B, A%B)
❖ 当A%B==0时,B即为最大公约数
❖ GCD〔12,18〕=GCD〔18,12〕
#include “stdio.h〞
main()
{int max, next, n;
scanf(“%d〞,&next);
max=next;
/* 第一个数就是最大数 */
for (n=2;n<=10; n++) /* 输入另外的九个数,并依次 {scanf(“%d〞,&next); 比较出最大数 */
if (next>max) max=next; }
printf(“max=%d\n〞, max); /* 打印出最大数 */ }
问题:求出以“9999〞作为结束标志的一组整数的最大数。 例如输入:123 45 5678 34 9999 67 23456,输出结果为 5678,即对9999及其以后的数不作处理。
if (n%i==0) { flag=0; break; } if (flag==1) printf(“该数是素数〞〕;
else printf(“该数不是素数〞); }
❖ 猴子吃桃问题:猴子第一天摘下假设干个桃子,当即 吃了一半,还不瘾,又多吃了一个第二天早上又将剩 下的桃子吃掉一半,又多吃了一个。以后每天早上都 吃了前一天剩下的一半零一个。到第10天早上想再吃 时,见只剩下一个桃子了。求第一天共摘了多少。
C语言常见编程算法实例
常见编程算法实例一、关于数字上的一些编程算法1.输出9*9口诀乘法表。
分析:分行与列考虑,共9行9列,i控制行,j控制列。
#include "stdio.h"main(){ int i,j,result;printf("\n");for (i=1;i<10;i++){ for(j=1;j<=i;j++){ result=i*j;printf("%d*%d=%-3d",i,j,result);/*-3d表示左对齐,占3位*/} printf("\n");/*每一行后换行*/}}2.求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。
例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
分析:关键是计算出每一项的值。
main(){ int a,n,count=1;long int sn=0,tn=0;printf("please input a and n\n");scanf("%d,%d",&a,&n);printf("a=%d,n=%d\n",a,n);while(count<=n){ tn=tn+a;sn=sn+tn;a=a*10;++count;}printf("a+aa+...=%ld\n",sn); }3.公式∏/4=1-1/3+1/5-1/7+...+ 1/n ,求∏的近似值,直到最后一项1/n 的绝对值小于0.000001。
#include<stdio.h>#include<math.h>main(){ int f=1;double pi=0,t=1,v=1;while(fabs(t)>1e-6){ pi=pi+t;v+=2;f=-f;t=f/v;}pi*=4;printf("∏=%f\n",pi); }4.有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
C语言程序设计(第三版)习试题(库)答案解析
C语言程序设计(第三版)习试题(库)答案解析C语言程序设计(第三版)习题库1、设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。
用scanf输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。
请编程序。
#include main(){float r,h,C1,Sa,Sb,Va,Vb;scanf(__”%f”__,&r);scanf(”%d”,__&h_);;C1=2*3.14*r;Sa=3.14*r*r;Sb=4*Sa;Va=4*3.14*r*r*r/3;Vb=Sa*h;printf(___”Cl=%.2fSa=%.2fSb=%.2fVa=%.2fVb=%.2f”,Cl,Sa ,Sb,Va,Vb);}2、输入一个华氏温度,要求输出摄氏温度。
公式为c=5(F-32)/9输出要求有文字说明,取位2小数。
#includemain(){float F,c;scanf("%f",&F);____c=5*(F-32)/9______;printf("c=%.2f",c);}3、有一函数:??≥-<≤-<=10113101121x x x x x x y 写一程序,输入x 值,输出y 值。
#includemain(){int x,y;printf("输入x :");scanf("%d",&x);if(x<1) { /* x<1 */y=x;printf("x=%3d, y=x=%d\n",x,y);} else if (____x<10_______){ /* 1≤x-10 */_____y=2*x-1_______;printf("x=%3d, y=2*x-1=%d\n",x,y);} else{ /* x ≥10 */y=3*x-11;printf("x=%3d, y=3*x-11=%d\n",x# include "stdio.h" main(){int x,y;scanf("%d",&x);{ y=x;}else if(x>=1 && x<10){ y=2*x-1;}else{ y=3*x-11;}printf("%d",y);}# include "stdio.h" main(){int x,y;scanf("%d",&x);if(x<1){ y=x;}else if(x>=1 && x<10){ y=2*x-1;}else{ y=3*x-11;}printf("%d\n",y);}# include "stdio.h" main(){scanf("%d",&x);if(x<1){ y=x;}else if(x>=1 && x<10){ y=2*x-1;}else{ y=3*x-11;}printf("%d",y);}scanf("%d",&x);if(x<1){ y=x;}else if(x>=1 && x<10){ y=2*x-1;}else{ y=3*x-11;} # include "stdio.h" main() {int x,y;scanf("%d",&x);if(x<1)y=x;else if(x>=1 && x<10)y=2*x-1;elsey=3*x-11;printf("%d",y);},y);}}4、给定一个不多于5位的正整数,要求:①求它是几位数;②按逆序打印出各位数字。
编程题考核题库(50题及答案)
【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?//这是一个菲波拉契数列问题public class lianxi01 {public static void main(String[] args) {System.out.println("第1个月的兔子对数: 1");System.out.println("第2个月的兔子对数: 1");int f1 = 1, f2 = 1, f, M=24;for(int i=3; i<=M; i++) {f = f2;f2 = f1 + f2;f1 = f;System.out.println("第" + i +"个月的兔子对数: "+f2);}}}#include <iostream>using namespace std;int main(){double x=1,y=1,n;cin>>n;for(int i=1; i<n; ++i){y=x+y;x=y-x;}printf("%.0f\n",x);return 0;}main(){long f1,f2;int i;f1=f2=1;for(i=1;i<=20;i++){ printf("%12ld %12ld",f1,f2);if(i%2==0) printf("\n");/*控制输出,每行四个*/f1=f1+f2; /*前两个月加起来赋值给第三个月*/f2=f1+f2; /*前两个月加起来赋值给第三个月*/}}【程序2】题目:判断101-200之间有多少个素数,并输出所有素数。
程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。
c语言水仙花数的编程for循环
c语言水仙花数的编程for循环C语言水仙花数的编程for循环水仙花数是指一个三位数,它的各位数字的立方和等于该数本身。
例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
在C语言中,我们可以使用for循环来实现水仙花数的计算和输出。
下面将详细介绍如何使用for循环编写C语言水仙花数程序。
1. 程序框架首先,我们需要确定程序的框架。
在这个程序中,我们需要从100到999遍历所有三位数,并判断其是否为水仙花数。
如果是,则将其输出。
因此,程序框架如下:```#include <stdio.h>int main() {for (num = 100; num <= 999; num++) {// 判断num是否为水仙花数// 如果是,则输出num}return 0;}```在这个程序中,我们使用了一个循环变量num来遍历所有三位数。
每次循环时,我们需要判断num是否为水仙花数,并将结果输出。
2. 判断是否为水仙花数接下来,我们需要编写代码来判断一个三位数是否为水仙花数。
具体方法是将该数字的每一位数字取出,并计算它们的立方和。
如果结果等于该数字本身,则该数字为水仙花数。
代码如下:```sum = 0;for (int i = 0; i < 3; i++) {sum += digit * digit * digit;num /= 10;}if (sum == num) {printf("%d\n", num);}```在这段代码中,我们使用了一个循环变量i来遍历num的每一位数字。
具体方法是先将num对10取模,得到最后一位数字,然后将其立方加入到sum中。
接着,将num除以10,去掉最后一位数字。
重复以上步骤直到遍历完所有位数。
最后,我们需要判断sum是否等于num本身。
如果是,则说明该数字为水仙花数。
3. 完整代码将以上两部分代码组合起来,就可以得到完整的C语言水仙花数程序了。
Java基础50道经典练习题(3)——水仙花数
Java基础50道经典练习题(3)——⽔仙花数【程序 3 ⽔仙花数】题⽬:打印出所有的"⽔仙花数",所谓"⽔仙花数"是指⼀个三位数,其各位数字⽴⽅和等于该数本⾝。
例如:153 是⼀个"⽔仙花数",因为 153=1 的三次⽅+5 的三次⽅+3 的三次⽅。
程序分析:利⽤ for 循环控制 100-999 个数,每个数分解出个位,⼗位,百位。
源码:package com.homework.test;/*题⽬:打印出所有的"⽔仙花数",所谓"⽔仙花数"是指⼀个三位数,其各位数字⽴⽅和等于该数本⾝。
例如:153 是⼀个"⽔仙花数",因为 153=1 的三次⽅+5 的三次⽅+3 的三次⽅。
程序分析:利⽤ for 循环控制 100-999 个数,每个数分解出个位,⼗位,百位。
*/public class NarcissisticNumber {public static void main(String[] args){for (int i = 100; i <= 999; i++) {if (fun(i)) {System.out.println(i);}}}/*判断是否为⽔仙花数*/public static boolean fun(int num){int unit = num % 10;int decade = (num / 10) % 10;int hundred = num / 100;// System.out.print(hundred +" ");// System.out.print(decade+" ");// System.out.print(unit+"\n");if (unit*unit*unit + decade*decade*decade + hundred*hundred*hundred == num)return true;elsereturn false;}}。
python水仙花数的编程代码
# Python水仙花数## 一、什么是水仙花数水仙花数,又称超完全数字不变数、自幂数、自守数、阿姆斯特朗数,是指一个三位数,其各位数字的立方和等于其本身,例如:153=1^3+5^3+3^3,即:153=1+125+27,满足这样的规律的数,就称为水仙花数。
## 二、Python水仙花数编程代码```# Python编程求水仙花数for num in range(100,1000):low = num % 10mid = num // 10 % 10high = num // 100if num == low ** 3 + mid ** 3 + high ** 3:print(num)```上面的代码可以用来求解Python水仙花数,其中num表示三位数,low表示个位数,mid 表示十位数,high表示百位数。
## 三、Python水仙花数测试下面我们来测试一下上面的Python水仙花数编程代码,代码如下:```# Python编程求水仙花数for num in range(100,1000):low = num % 10mid = num // 10 % 10high = num // 100if num == low ** 3 + mid ** 3 + high ** 3:print(num)```输出结果如下:153370371407可以看到,上面的代码输出了四个水仙花数,说明我们的代码是可以正确求出水仙花数的。
## 四、总结本文介绍了Python水仙花数编程代码,以及如何使用Python编程求解水仙花数。
我们可以使用上面的代码来求解Python水仙花数,并且测试结果也表明,我们的代码是可以正确求出水仙花数的。
计算某一范围内的所有水仙花数c语言
计算某一范围内的所有水仙花数c语言水仙花数,也被称作自恋数或亲密数,是一种特殊的数字形式。
它的定义是:一个 n 位数(n≥3),它的每个数字的 n 次幂之和等于它本身。
153 是一个水仙花数,因为 1^3 + 5^3 + 3^3 = 153。
在计算机科学领域,我们经常会遇到需要找出某一范围内所有水仙花数的需求。
这时,我们可以利用 C 语言来实现这一计算过程。
下面,我将简单介绍如何使用 C 语言来计算某一范围内的所有水仙花数,并探讨这一过程中涉及的一些技术细节。
1. 确定范围我们需要确定计算水仙花数的范围。
假设我们希望计算 100 到 999 之间的所有水仙花数,那么我们将范围限定在这个区间内。
2. 编写计算函数接下来,我们可以编写一个函数,用来判断一个数字是否为水仙花数。
这个函数可以接受一个整数作为参数,然后计算出该整数的每一位数字的n 次幂之和,最后与原始的整数进行比较,确定是否为水仙花数。
以下是一个示例函数的代码:```c#include <stdio.h>int isNarcissisticNumber(int number) {int originalNumber, remainder, result = 0, n = 0; originalNumber = number;while (originalNumber != 0) {originalNumber /= 10;++n;}originalNumber = number;while (originalNumber != 0) {remainder = originalNumber % 10;result += pow(remainder, n);originalNumber /= 10;}if(result == number) {return 1; // 是水仙花数}else {return 0; // 不是水仙花数}}int main() {int start = 100, end = 999;for (int i = start; i <= end; i++) {if (isNarcissisticNumber(i)) {printf("%d 是水仙花数\n", i);}}return 0;}```以上代码中,我们首先定义了一个 isNarcissisticNumber 函数,用来判断一个数字是否为水仙花数。
50道算术题
50道算术题【程序3】题⽬:打印出所有的"⽔仙花数",所谓"⽔仙花数"是指⼀个三位数,其各位数字⽴⽅和等于该数本⾝。
例如:153是⼀个"⽔仙花数",因为153=1的三次⽅+5的三次⽅+3的三次⽅。
【程序4】题⽬:将⼀个正整数分解质因数。
例如:输⼊90,打印出90=2*3*3*5。
程序分析:对n进⾏分解质因数,应先找到⼀个最⼩的质数k,然后按下述步骤完成:(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果n<>k,但n能被k整除,则应打印出k的值,并⽤n除以k的商,作为新的正整数你n,重复执⾏第⼀步。
(3)如果n不能被k整除,则⽤k+1作为k的值,重复执⾏第⼀步。
【程序5】题⽬:利⽤条件运算符的嵌套来完成此题:学习成绩>=90分的同学⽤A表⽰,60-89分之间的⽤B表⽰,60分以下的⽤C表⽰。
1.程序分析:(a>b)?a:b这是条件运算符的基本例⼦。
【程序6】题⽬:输⼊两个正整数m和n,求其最⼤公约数和最⼩公倍数。
1.程序分析:利⽤辗除法。
【程序7】题⽬:输⼊⼀⾏字符,分别统计出其中英⽂字母、空格、数字和其它字符的个数。
1.程序分析:利⽤while语句,条件为输⼊的字符不为'\n'.【程序8】题⽬:求s=a+aa+aaa+aaaa+aa...a的值,其中a是⼀个数字。
例如2+22+222+2222+22222(此时共有5个数相加),⼏个数相加有键盘控制。
1.程序分析:关键是计算出每⼀项的值。
【程序9】题⽬:⼀个数如果恰好等于它的因⼦之和,这个数就称为"完数"。
例如6=1+2+3.编程找出1000以内的所有完数。
【程序10】题⽬:⼀球从100⽶⾼度⾃由落下,每次落地后反跳回原⾼度的⼀半;再落下,求它在第10次落地时,共经过多少⽶?第10次反弹多⾼?【程序11】题⽬:有1、2、3、4个数字,能组成多少个互不相同且⽆重复数字的三位数?都是多少?1.程序分析:可填在百位、⼗位、个位的数字都是1、2、3、4。
C语言第一阶段测试题目汇总
千锋,中国领先的3G嵌入式培训专家C语言测试题目1 约瑟夫问题(难度:3) (3)2 生小免问题难度:2 (3)3 裴波那契数列难度:2 (3)4 水仙花数难度:1 (4)5 平面几何直线求解难度:2 (4)6 内存移动难度3 (4)7 统计字符串难度:3 (5)8 求和难度:2 (5)9 小球高度难度:1 (6)10 人员查找难度:2 (6)11 整数和与积难度:3 (6)12 士兵与枪难度:3 (7)13 价格求和难度:1 (7)14 字符串替换难度:3 (7)15 字符串查找难度:3 (7)16 难度:1 (8)17 难度:2 (8)18 难度:3 (8)19 难度:2 (9)20 难度:1 (9)21 难度:2 (10)22 难度:2 (10)23 难度:5 (10)24 难度:4 (11)25 难度:3 (11)26 难度:2 (11)27 难度:2 (11)28 难度:2 (12)29 难度:5 (12)30 难度:5 (12)31 难度:5 (12)32 难度:4 (13)33 难度:2 (13)34 难度:3 (13)35 难度:3 (13)36 难度:3 (14)37 难度:1 (14)38 难度:2 (14)千锋,中国领先的3G嵌入式培训专家39 难度:2 (14)40 难度:4 (15)41 难度:4 (15)42 难度:2 (15)43 五户共井问题难度:3 (15)44 难度:5 (16)45 难度:2 (16)46 EDF调度算法难度:5 (16)47 难度:1 (17)48 难度:2 (18)49 typedef 难度:2 (18)50 难度:2 (19)51 atol 难度:2 (19)52 难度:2 (19)53 难度:2 (19)54 难度:2 (20)55 难度5 (20)56 难度:1 (20)57 难度:3 (21)58 难度:3 (21)59 难度:3 (21)60 难度:2 (21)61 求组合数难度:4 (22)62 排列难度:4 (22)63 内存复制难度:3 (23)64 难度:3 (24)65 难度:3 (24)66 难度:4 (25)67 旋转矩阵难度:5 (25)68 难度2 (25)69 难度:2 (26)70 难度:3 (26)71 难度:3 (26)72 难度:3 (26)73 搜索引擎去重问题:(baidu笔试题目) (27)73.1 任务1: (28)73.2 任务2: (28)74 网络爬虫处理(baidu笔试题目) (28)74.1 任务1: (29)千锋,中国领先的3G嵌入式培训专家1约瑟夫问题(难度:3)一伙强盗抓住了M个人,说你们只能有一个人活下来给我们带路。
案例十_打印出所有的_水仙花数_所谓_水仙花数_是指一个..
案例十:打印出所有的“水仙花数”。
所谓“水仙花数”是指一个3位数,其各位数字的立方和等于该数本身。
例如,153是一个“水仙花数”,因为153=13
+53
+33。
1.程序分析:
将每个三位数的每一位分离出来,求出各位数字的立方和,若与此三位数相等,则此三位数为“水仙花数”。
关键的问题是如何分离出三位数的每一位,可以这样考虑:若要分离个位上的数字,只需将此三位数和10进行求余即可;若要分离十位上的数字,只需先将此三位数除以10,然后再和10进行求余即可;若要分离百位上的数字,只需将此三位数除以100即可。
2.程序流程图: 3.程序N-S 图:
4.程序源代码: main ( )
{
int i,j,k,n;
程序流程图
程序N-S 图
printf(““水仙花数”是:”);
for (n=100;n<1000;n++)
{
i=n/100;
j=n/10-i*10;
k=n%10;
if (n==i*i*i+j*j*j+k*k*k)
printf(“%4d”,n);
}
printf(“\n”);
}
5.程序运行结果:
“水仙花数“是:153 370 371 407。
C语言程序设计习题答案(第三版)
C语言程序设计(第三版)习题答案习题一一、名词解释(1)程序P1 (2)程序设计P1 (3)机器语言P1 (4)高级语言P2(5)汇编程序P3 (6)编译程序P4 (7)算法P5 (8)结构化程序设计方法P10二、简答题1. 设计程序时应遵循哪些基本原则?P4答:正确性、可靠性、简明性、有效性、可维护性、可移植性。
2. 算法具有哪些特点?答:有穷性、确定性、有效性、有零个或多个输入、有一个或多个输出。
3. 算法的表示形式有哪几种?答:自然语言、伪代码、传统流程图、N-S流程图、计算机语言。
4. 结构化程序设计方法的三种基本结构是什么?答:顺序结构、选择结构和循环结构。
5. 传统流程图与N-S流程图最大的区别是什么?答:N-S流程图去掉了在传统流程图中常用的流程线,使得程序的结构显得更加清晰、简单。
三、用传统流程图或N-S流程图表示求解以下问题的算法。
1. 从键盘输入10个整数,求出其中的最小数并输出。
2. 求1+2+3+…+100的值。
3. 求10~50的所有素数之和。
4. 求下列分段函数的值。
四、请参照本章例题,编写一个简单的C 程序,输出以下三行信息。
**************************Yangtze University**************************#include <stdio.h>void main(){printf("**************************\n");printf(" Yangtze University\n");printf("**************************\n");}4X-1 (X ≤1) 5(X-1)+6 (1<X<5) 6-3X (X ≥5)习题二一、选择题1~10: B C D C D D B C A A11~20: D A C D B D B A C D二、填空题1.字母 L 或字母 l2. %c(或字符) 、 %d(或整数)3.在程序运行过程中,其值可以在一定的范围内变化的量4.'\0'5.小数形式、指数形式6.关键字、预定义标识符、用户标识符7.字母、数字、下划线、数字8. 189. 2 、 1 、 3010.双精度实数或double11.赋值、逗号、 20 、 20 、 20 、 412. 4 、 4习题三一、选择题1~10: B C C B C C C D C C注:第4题答案D为: 10 22↙33↙二、填空题1. printf 、 scanf2. h3."%5d"4.'\0'5. e 、 E6. 67. s 、 c8. *9. - 、 +10. i三、编程题1. 编写程序,从键盘输入一个以秒为单位的时间数,将其换算成几小时几分几秒,然后进行输出。
使用python写水仙花数、四叶玫瑰数、五角星数
使⽤python写⽔仙花数、四叶玫瑰数、五⾓星数#!/usr/bin/python# -*- coding:utf-8 -*-import time# 格式化成2016-03-20 11:45:39形式nowTime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())print(nowTime)def ThreeNum():three = []count = 0for i in range(100, 1000):n1 = i // 100 # 取整除百位n2 = (i - n1 * 100) // 10 # ⼗位n3 = i % 10 # 个位n = pow(n1, 3) + pow(n2, 3) + pow(n3, 3)if i == n:count = count + 1three.append(n)print("⽔仙花数有 %s 个:%s" % (count, three))def FourNum():four = []count = 0for i in range(1000, 10000):n1 = i // 1000 # // 取整除千位n2 = (i - n1 * 1000) // 100 # 百位n3 = i % 10 # 个位n4 = (i - n1 * 1000 - n2 * 100) // 10 # ⼗位n = pow(n1, 4) + pow(n2, 4) + pow(n3, 4) + pow(n4, 4)if i == n:count = count + 1four.append(n)print("四叶玫瑰数有 %s 个:%s" % (count, four))def FiveNum():five = []count = 0for i in range(10000, 100000):n1 = i // 10000 # 取整除万位n2 = (i - n1 * 10000) // 1000 # 千位n3 = i % 10 # 个位n4 = (i - n1 * 10000 - n2 * 1000) // 100 # 百位n5 = (i - n1 * 10000 - n2 * 1000 - n4 * 100) // 10 # ⼗位n = pow(n1, 5) + pow(n2, 5) + pow(n3, 5) + pow(n4, 5) + pow(n5, 5)if i == n:count = count + 1five.append(n)print("五⾓星数有 %s 个:%s" % (count, five))if __name__ == "__main__":while True:print('''-------------开始------------------请选择菜单:(0) 退出(1) ⽔仙花数(2) 四叶玫瑰数(3) 五⾓星数----------------------------------''')number_str = input("请输⼊执⾏序号:") # if number_str == "":# continueif number_str.isdigit():number = int(number_str)else:print("输出错误,请重新输⼊!")continueif number == 0:print("正在退出程序。
水仙花c语言程序题
水仙花c语言程序题水仙花数是指一个n 位数( n≥3 ),它的每个位上的数字的n 次幂之和等于它本身。
比如说,153 就是一个水仙花数:1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153现在我们要写一个C 语言程序,输入一个正整数n (n>=1),输出所有n 位的水仙花数。
要实现这个功能,我们可以先定义两个变量i 和j,分别从0 和1 开始循环。
然后在循环中,我们可以拼接i 和j 生成一个n 位数,再判断这个数是否是水仙花数,如果是,就输出它。
下面是具体的程序代码:#include <stdio.h>#include <math.h>int main(){int n, i, j, num, sum;printf("请输入n值:");scanf("%d", &n);printf("%d 位的水仙花数有:\n", n);for (i = 0; i < 10; i++) {for (j = 0; j < 10; j++) {num = i * pow(10, n-1) + j * pow(10, n-2);sum = pow(i, n) + pow(j, n);if (num == sum) {printf("%d\n", num);}}}return 0;}首先,程序要求用户输入n 的值,并输出哪些数字是n 位的水仙花数。
然后,在循环中,我们把i 和j 拼接成一个n 位数,并计算这个数的n 次幂和。
如果这个数等于它的n 次幂和,就说明它是一个水仙花数。
于是,我们就将它输出。
请注意,要将pow 函数从math.h 中引入到程序中,才能使用。
在本例中,我们使用了pow(i, n) 和pow(j, n) 来计算i 和j 的n 次幂。
pow 函数的第一个参数是底数,第二个参数是幂次。
Java学习-打印1-1000以内的水仙花数代码实例
Java学习-打印1-1000以内的⽔仙花数代码实例⽔仙花数:⽔仙花数是三位数,它的各位数字的⽴⽅和等于这个三位数本⾝,例如:370=33+73+00;371=33+73+13,370、371就是⼀个⽔仙花数注意:要判断⼀个三位数是不是⽔仙花数,得先取得这个三位数的的个位,⼗位和百位public class MyTest {public static void main(String[] args) {/* 打印1-1000的⽔仙花数⽔仙花数:例如 153=1*1*1+5*5*5+3*3*3*///定义标记,⽔仙花数起始值位0int count =0;//要找出1000以内的⽔仙花数,先要遍历其每个数字;因为⽔仙花数是三位数所以从100开始for (int i = 100; i < 1000; i++) {//取出个位int g = i%10;//取出⼗位int s = i/10%10;//取出百位int b = i/100;//判断每个位上的⽴⽅和是否等于它⾃⼰,如果是则打印出该数字if (g*g*g+s*s*s+b*b*b==i){//如果是⽔仙花数,count加⼀count++;System.out.println(i);}}System.out.println("1000以内⽔仙花数的个数:"+count);}}输出结果:1533703714071000以内⽔仙花数的个数:4以上所述是⼩编给⼤家介绍的Java打印1-1000以内的⽔仙花数详解整合,希望对⼤家有所帮助,如果⼤家有任何疑问请给我留⾔,⼩编会及时回复⼤家的。
在此也⾮常感谢⼤家对⽹站的⽀持!。
本题要求编写程序,输出给定正整数m和n区间内的所有三位水仙花数。三位水仙花数,即
本题要求编写程序,输出给定正整数m和n区间内的所有三位水仙花数。
三位水仙花数,即
输入在一行中给出两个正整数m和n(100≤m≤n≤999)。
输出格式:
顺序输出m和n区间内所有三位水仙花数,每一行输出一个数。
若该区间内没有三位水仙花数,则无输出。
如果m或者n不符合题目的要求,则输出invalid value.。
输入样例1:
100 400
输出样例1:
153
370
371
输入样例2:
500 600
输出样例2:
输入样例3:
990 101
输出样例3:
invalid value.
#include<stdio.h>
#include<math.h>
int main(void)
{
int m,n,q,w;
int g,s,b;
scanf("%d%d",&m,&n);
q=m;
w=n;
if(m<=n&&m>=100&&n>=100&&n<=999)
{
for(q;q<=w;q++)
{
g=q%10;
s=q%100/10;
b=q/100;
if(q==pow(g,3)+pow(s,3)+pow(b,3)) {
printf("%d\n",q);
}
}
}
else
{
printf("invalid value.");
}
return 0;
}。
Python100经典练习题
#!/usr/bin/env python#coding: utf-8'''【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。
组成所有的排列后再去掉不满足条件的排列。
2.程序源代码:'''for i in range(1,5):for j in range(1,5):for k in range(1,5):if( i != k ) and (i != j) and (j != k):print i,j,k'''【程序2】题目:企业发放的奖金根据利润提成。
利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?1.程序分析:请利用数轴来分界,定位。
注意定义时需把奖金定义成长整型。
2.程序源代码:'''bonus1 = 100000 * 0.1bonus2 = bonus1 + 100000 * 0.500075bonus4 = bonus2 + 200000 * 0.5bonus6 = bonus4 + 200000 * 0.3bonus10 = bonus6 + 400000 * 0.15i = int(raw_input('input gain:\n'))if i <= 100000:bonus = i * 0.1elif i <= 200000:bonus = bonus1 + (i - 100000) * 0.075elif i <= 400000:bonus = bonus2 + (i - 200000) * 0.05elif i <= 600000:bonus = bonus4 + (i - 400000) * 0.03elif i <= 1000000:bonus = bonus6 + (i - 600000) * 0.015else:bonus = bonus10 + (i - 1000000) * 0.01print 'bonus = ',bonus'''【程序3】题目:一个整数,它加上100后是一个完全平方数,再加上268又是一个完全平方数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。