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

欧拉计划 Project Euler62(立方数重排)题解

欧拉计划 Project Euler 62题解

  • 题干
  • 思路
  • code

题干

在这里插入图片描述

思路

将一个立方数的数字排序(如升序),得到一个标准形式。例如
41063625的标准形式是 ‘01234566’。然后我们维护一个字典 dict[标准形式] = [a^3 值列表],每次生成一个立方数 将其标准形式作为键,加入到对应列表中。当某个标准形式对应的立方数个数正好为 5 时,记录它们中最小的那个作为候选答案。

code

/*
5027^3 = 127035954683
7061^3 = 352045367981
7202^3 = 373559126408
8288^3 = 569310543872
8384^3 = 589323567104
127035954683
*/
#include <bits/stdc++.h>using namespace std;using ll = long long;string sorted_digits(ll n) {string s = to_string(n);sort(s.begin(), s.end());return s;
}void solve() {map<string, vector<pair<long long, int>>> cube;int i = 1;while (true) {ll cu = static_cast<long long>(i) * i * i;string key = sorted_digits(cu);cube[key].emplace_back(cu, i);if (cube[key].size() == 5) {for (auto [cu, r] : cube[key]) {cout << r << "^3 = " << cu << "\n";}// 输出最小的cout << cube[key][0].first << "\n";break;}i++;}}int main() {ios::sync_with_stdio(false);cin.tie(nullptr);int tt = 1; // cin >> tt;while (tt--) {solve();}return 0;
}
http://www.xdnf.cn/news/3401.html

相关文章:

  • Allegro23.1新功能之如何加粗打印线宽操作指导
  • 跨域 iframe 内剪切板 Clipboard_API 报错
  • 网络安全零基础培训 L1-9 PHP连接MySQL数据库
  • d202551
  • QMK固件烧录指南:安全高效地更新您的机械键盘
  • Python结合QT进行开发
  • 西门子数字化研发设计制造一体化规划案例P87(87页PPT)(文末有下载方式)
  • 神经网络—损失函数
  • Python 数据智能实战 (6):用户评论深度挖掘
  • OpenGL-ES 学习(10) ---- OpenGL-ES Shader语言语法
  • CMake中强制启用option定义变量的方法
  • Unity SpriteEditor(精灵图片编辑器)
  • C++笔记-继承(下)(包含派生类的默认成员函数,菱形继承等)
  • AJAX 实例
  • vscode 的空格和 tab 设置 与 Rime 自建词库
  • AI大模型基础设施:主流的几款开源AI大语言模型的本地部署成本
  • 企业内训|智能驾驶与智能座舱技术——某汽车厂商
  • Ubuntu18 登录界面死循环 Ubuntu进不了桌面
  • 初学Vue之记事本案例
  • 【Linux】VSCode用法
  • 【嵌入式———通用定时器基本操作——实验需求2:案列:测量PWM的频率/周期】
  • 用手机相册教我数组概念——照片分类术[特殊字符][特殊字符]
  • 构建现代分布式云架构的三大支柱:服务化、Service Mesh 与 Serverless
  • 第十一届蓝桥杯 2020 C/C++组 门牌制作
  • vue 常见ui库对比(element、ant、antV等)
  • 兰亭妙微:数据驱动的 B 端设计:如何用 UI 提升企业级产品体验?
  • 【Qt】网络
  • ZYNQB笔记(十六):AXI DMA 环路测试
  • FreeSWITCH 发送 sip message 的 lua 程序
  • 深挖Java基础之:变量与类型