当前位置: 首页 > article >正文

求水仙花数,提取算好,打表法。或者暴力解出来。

暴力解法

#include<bits/stdc++.h>
using namespace std;
int main()
{
   int n,m;
   cin>>n>>m;
   if(n<3||n>7||m<0)
   {
       cout<<"-1";
       return 0;
   }
   int powN[10];//记录0-9的n次方
   for(int i=0;i<10;i++)
   {
       powN[i]=(int)pow(i,n);
   }
   int low=(int) pow(10,n-1);
   int high=(int) pow(10,n);//从100-999
   long ans=0;//记录当前水仙花数
   int idx=0;//当前水仙花数是第几个
   for(int num=low;num<high;num++)
   {
       int sum=0;//记录num各位数字n位数之和;
       //从低位到高位遍历num的每一位数字
       int num_cp=num;
       while(num_cp>0)
       {
           sum+=powN[num_cp%10];
           num_cp/=10;
       }
       if(sum==num)
       {
           ans=num;
           if(idx==m)
            {
            cout<<ans;
           return 0;}
           idx++;
       }
   }
   long res=ans*m;
   cout<<res;
    return 0;
}

打表法

#include <bits/stdc++.h>
 
using namespace std;
 
int main() {
    int n, m;
    cin >> n >> m;
 
    if (n < 3 || n > 7 || m < 0) {
        cout << -1;
        return 0;
    }
 
    map<int, vector<int>> dic;
    dic[3] = {153, 370, 371, 407};
    dic[4] = {1634, 8208, 9474};
    dic[5] = {54748, 92727, 93084};
    dic[6] = {548834};
    dic[7] = {1741725, 4210818, 9800817, 9926315};
 
    if (m < dic[n].size()) {
        printf("%d", dic[n][m]);
    } else {
        printf("%lld", (long long) dic[n][dic[n].size() - 1] * m);
    }
 
    return 0;
}


http://www.kler.cn/a/531572.html

相关文章:

  • 第28节课:前端项目实战—从需求分析到开发流程的全方位指南
  • 四川正熠法律咨询有限公司正规吗可信吗?
  • 3.5.7 基于横盘结构的分析体系——缠论(背驰/背离)
  • Leetcode 8283 移除排序链表中的重复元素
  • 深度学习-98-大语言模型LLM之基于langchain的代理create_react_agent工具
  • 双指针算法思想——OJ例题扩展算法解析思路
  • 利用Vue和javascript分别编写一个“Hello World”的定时更新
  • OpenGL学习笔记(六):Transformations 变换(变换矩阵、坐标系统、GLM库应用)
  • 【16届蓝桥杯寒假刷题营】第2期DAY2
  • mysql操作语句与事务
  • C++STL(一)——string类
  • “深度强化学习揭秘:掌握DQN与PPO算法的精髓“
  • ubuntu磁盘扩容
  • 分析哲学:从 语言解剖到 思想澄清的哲学探险
  • Linux 权限 详细版!!
  • 使用朴素贝叶斯对自定义数据集进行分类
  • 2024联想春招硬件嵌入式开发真题及答案解析
  • Unity-编译构建Android的问题记录
  • 跨平台文件互传工具
  • 3.[羊城杯2020]easyphp
  • RESTful 架构原则及其在 API 设计中的应用
  • 2024第十五届蓝桥杯网安赛道省赛题目rc4
  • Spring Boot 2 快速教程:WebFlux优缺点及性能分析(四)
  • ICCV2025会议时间线及要求
  • vscode无法使用open in broswer插件从默认浏览器打开
  • LeetCode 3105. Longest Strictly Increasing or Strictly Decreasing Subarray