编程介的小学生 2019-11-11 10:27 采纳率: 20.5%
浏览 1547

输出所有在m和n范围内的水仙花数怎么做

Problem Description
春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的:
“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=1^3+5^3+3^3。
现在要求输出所有在m和n范围内的水仙花数。

Input
输入数据有多组,每组占一行,包括两个整数m和n(100<=m<=n<=999)。

Output
对于每个测试实例,要求输出所有在给定范围内的水仙花数,就是说,输出的水仙花数必须大于等于m,并且小于等于n,如果有多个,则要求从小到大排列在一行内输出,之间用一个空格隔开;
如果给定的范围内不存在水仙花数,则输出no;
每个测试实例的输出占一行。

Sample Input
100 120
300 380

Sample Output
no
370 371

  • 写回答

1条回答 默认 最新

  • 在观望哈密瓜 2020-02-23 12:15
    关注

    #include

    int main() {
    int i,t=0,j=0,m,n,p;
    //定义一个数组 存放水仙花数

    while(scanf("%d %d",&m,&n)!=EOF) {
        if(100<=m<=n<=999) {
    int a[100]; 
            for(i=m; i<n; i++) {
                if((i/100)*(i/100)*(i/100)+(i%100/10)*(i%100/10)*(i%100/10)+(i%10)*(i%10)*(i%10)==i) {
                    t++;
                    a[j]=i;    
                    j++;
                }
    
            }
            if(t==0)
                printf("no\n"); 
            else {
    
                for(p=0; p<t-1; p++) {       //输出前t-1个水仙花数 后面带空格 
                    printf("%d ",a[p]);
                }
    
                printf("%d\n",a[t-1]);   //单独输出最后一个水仙花数 带换行 
    
              t=0;  //计数重置 
              j=0;
            }
        }
    }
    

    }

    评论

报告相同问题?

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?