首页 > 学院 > 开发设计 > 正文

算法学习 -- 水仙花数

2019-11-09 19:22:47
字体:
来源:转载
供稿:网友

如果一个三位数的没个数位的数字三次方之和等于改数本身,我们称这种数字为水仙花数。

输入:n m(n和m为三位整数)

输出:n和m之间的水仙花数

#include <stdio.h>#include <stdlib.h>int check(int n);int main(int argc, char *argv[]) {	int n,m;	PRintf("请输入两个三位数并用空格隔开:/n");	scanf("%d %d",&n,&m);	//判断输入的数字是否合法 	if((n>=100 && n<=999) || (m>=100 && m<=999)){		//比较大小,小的为n,大的为m		if(n>m){			n=n^m;			m=n^m;			n=n^m;		} 		//从n到m循环,判断是否为水仙花数,若是,则输出 		int i,flag=0;		for(i=n;i<=m;i++){			if(flag==0){				flag = check(i);			}else{				check(i);			}		} 		if(flag==0){			printf("no/n");		}	}else{		printf("输入不合法。/n");	}	return 0;}int check(int n){	int j,k,l;	j=n%10;	k=n/10%10;	l=n/100;	if(n == j*j*j+k*k*k+l*l*l){		printf("%d/n",n);		return 1;	}else{		return 0;	}}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表