C++Harry呀 2023-02-02 09:36 采纳率: 61.5%
浏览 26

关于#c++#的问题,如何解决?

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

我的代码:

#include <iostream>
#include <bits/stdc++.h>
#include <cmath>
using namespace std;
int main ()
{
    long long ge,shi,bai,m,n;cin>>m>>n;
    for (int i=m;i<=n;i++)
    {
        ge=i%10;
        shi=(i/10)%10;
        bai=i/100;
        if ((ge*ge*ge)+(shi*shi*shi)+(bai*bai*bai)==i)
    {
        cout<<i<<" ";
    } 
    }
    return 0;
    }#include <iostream>
#include <bits/stdc++.h>
#include <cmath>
using namespace std;
int main ()
{
    long long ge,shi,bai,m,n;cin>>m>>n;
    for (int i=m;i<=n;i++)
    {
        ge=i%10;
        shi=(i/10)%10;
        bai=i/100;
        if ((ge*ge*ge)+(shi*shi*shi)+(bai*bai*bai)==i)
    {
        cout<<i<<" ";
    } 
    }
    return 0;
    }

结果45.45分。
谁可以告诉我正确代码。

  • 写回答

4条回答 默认 最新

  • CodeBytes 2023-02-02 09:46
    关注

    “该回答引用ChatGPT”
    参考下面的代码:
    可行还望采纳:

    #include<iostream>
    #include<cmath>
    
    using namespace std;
    
    bool isNarcissisticNumber(int num) {
        int originalNum = num;
        int result = 0;
        int n = log10(num) + 1;
        while (num != 0) {
            int digit = num % 10;
            result += pow(digit, n);
            num /= 10;
        }
        return result == originalNum;
    }
    
    int main() {
        int m, n;
        cin >> m >> n;
        for (int i = m; i <= n; i++) {
            if (isNarcissisticNumber(i)) {
                cout << i << " ";
            }
        }
        return 0;
    }
    
    
    
    评论

报告相同问题?

问题事件

  • 创建了问题 2月2日

悬赏问题

  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音
  • ¥30 Pytorch深度学习服务器跑不通问题解决?
  • ¥15 部分客户订单定位有误的问题
  • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
  • ¥15 Bug traq 数据包 大概什么价
  • ¥15 在anaconda上pytorch和paddle paddle下载报错
  • ¥25 自动填写QQ腾讯文档收集表