C语言。输入2个正整数m和n(m>=1,n<=1000),输入m和n之间的所有水仙花数。水仙花数是指个位数字的立方和
C语言编程。输入2个正整数m和n(m>=1,n<=1000),输入m和n之间的所有水仙花数。水仙花数是指个位数字的立方和等于其自身的数。例如,152的个位数字的立方和是1...
C语言编程。输入2个正整数m和n(m>=1,n<=1000),输入m和n之间的所有水仙花数。水仙花数是指个位数字的立方和等于其自身的数。例如,152的个位数字的立方和是1^3+5^3+3^3=153。输入输出示例:Input m:100 Input n:400 153 (1*1*1+5*5*5+3*3*3=153) 370(3*3*3+7*7*7=370)371(3*3*3+7*7*7+1*1*1=371)
展开
4个回答
展开全部
#include<stdio.h>
int shuixianhua(int m)
{
int s=0,flag=0,a,b,c;
a=m/100;//百位
c=m%10;//个位
b=m/10%10;//十位
s+=a*a*a+b*b*b+c*c*c ;
if(s==m)
{
flag=1;
//printf("a=%d, b=%d, c=%d, s=%d\n", a, b, c, s);
}
return(flag);
}
main()
{
int start = 0, end = 0;
printf("min number:");
scanf("%d", &start);
printf("max number:");
scanf("%d", &end);
int i;
for(i=start;i<end;i++)
if(shuixianhua(i))
printf("the number is:%d\n",i);
}
int shuixianhua(int m)
{
int s=0,flag=0,a,b,c;
a=m/100;//百位
c=m%10;//个位
b=m/10%10;//十位
s+=a*a*a+b*b*b+c*c*c ;
if(s==m)
{
flag=1;
//printf("a=%d, b=%d, c=%d, s=%d\n", a, b, c, s);
}
return(flag);
}
main()
{
int start = 0, end = 0;
printf("min number:");
scanf("%d", &start);
printf("max number:");
scanf("%d", &end);
int i;
for(i=start;i<end;i++)
if(shuixianhua(i))
printf("the number is:%d\n",i);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
int is(int number);
int main(void)
{
int m,n,i;
printf("Enter m:\n");
scanf("%d",&m);
printf("Enter n:\n");
scanf("%d",&n);
if(m>=1&&n<=1000&&m<n){
for(i=m;i<=n;i++){
if(is(i)==1)
printf("%4d",i);
}
printf("\n");
}
else printf("error,check m and n\n");
return 0;
}
int is(int number)
{
int sum,yushu,temporary;
sum=0;temporary=number;
while(number!=0){
yushu=number%10;
sum=sum+yushu*yushu*yushu;
number=number/10;
}
if(temporary==sum) return 1;
}
int is(int number);
int main(void)
{
int m,n,i;
printf("Enter m:\n");
scanf("%d",&m);
printf("Enter n:\n");
scanf("%d",&n);
if(m>=1&&n<=1000&&m<n){
for(i=m;i<=n;i++){
if(is(i)==1)
printf("%4d",i);
}
printf("\n");
}
else printf("error,check m and n\n");
return 0;
}
int is(int number)
{
int sum,yushu,temporary;
sum=0;temporary=number;
while(number!=0){
yushu=number%10;
sum=sum+yushu*yushu*yushu;
number=number/10;
}
if(temporary==sum) return 1;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
int shuixianhua(int m)
{
int s=0,flag=0,a,b,c;
a=m/100;
c=m%10;
b=m/10%10;
s+=a*a*a+b*b*b+c*c*c ;
if(s==m)
flag=1;
return(flag);
}
main()
{
int i;
for(i=1;i<1000;i++)
if(shuixianhua(i))
printf("the number is:%d\n",i);
}
int shuixianhua(int m)
{
int s=0,flag=0,a,b,c;
a=m/100;
c=m%10;
b=m/10%10;
s+=a*a*a+b*b*b+c*c*c ;
if(s==m)
flag=1;
return(flag);
}
main()
{
int i;
for(i=1;i<1000;i++)
if(shuixianhua(i))
printf("the number is:%d\n",i);
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
include <math.h>
void main()
{int x=100,a,b,c;
while(x>=100&&x<1000)
{a=0.01*x;
b=10*(0.01*x-a);
c=x-100*a-10*b;
if(x==(pow(a,3)+pow(b,3)+pow(c,3)))
printf("%5d",x);x++;
}
}
void main()
{int x=100,a,b,c;
while(x>=100&&x<1000)
{a=0.01*x;
b=10*(0.01*x-a);
c=x-100*a-10*b;
if(x==(pow(a,3)+pow(b,3)+pow(c,3)))
printf("%5d",x);x++;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询