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

UVa 386 Perfect Cubes

题目描述

费马大定理指出:对于n>2n > 2n>2,不存在大于111的整数a,b,ca, b, ca,b,c满足an=bn+cna^n = b^n + c^nan=bn+cn。然而,对于立方的情况,我们可以找到满足a3=b3+c3+d3a^3 = b^3 + c^3 + d^3a3=b3+c3+d3的整数解(例如123=63+83+10312^3 = 6^3 + 8^3 + 10^3123=63+83+103)。

本题要求:找出所有满足a3=b3+c3+d3a^3 = b^3 + c^3 + d^3a3=b3+c3+d3a≤200a \leq 200a200的整数解,其中b,c,d≥2b, c, d \geq 2b,c,d2

输出格式

aaa的非递减顺序输出,每行一个解,格式为Cube = a, Triple = (b,c,d)。对于相同的aaa,按bbb的非递减顺序输出。bbbcccddd也应满足b≤c≤db \leq c \leq dbcd

样例输出(部分)

Cube = 6, Triple = (3,4,5) Cube = 12, Triple = (6,8,10) Cube = 18, Triple = (2,12,16) Cube = 18, Triple = (9,12,15) Cube = 19, Triple = (3,10,18) Cube = 20, Triple = (7,14,17) Cube = 24, Triple = (12,16,20) ...

题目分析

问题的本质

这是一个整数方程求解问题。需要找出所有满足a3=b3+c3+d3a^3 = b^3 + c^3 + d^3a3=b3+c3+d3的四元组(a,b,c,d)(a, b, c, d)(a,b,c,d),其中2≤b≤c≤d<a≤2002 \leq b \leq c \leq d < a \leq 2002bcd<a200

算法思路

直接枚举b,c,db, c, db,c,d的三重循环,计算b3+c3+d3b^3 + c^3 + d^3b3+c3+d3,然后检查该值是否为某个整数的立方,且该整数在222200200200范围内,且大于ddd

枚举范围

  • bbb222200200200
  • cccbbb200200200
  • dddccc200200200

但注意:aaa必须大于ddd,因此ddd最大只需到199199199

立方根计算

使用cbrt函数计算立方根,由于浮点精度问题,需检查附近整数。


参考代码

// Perfect Cubes// UVa ID: 386// Verdict: Accepted// Submission Date: 2016-06-26// UVa Run Time: 0.040s//// 版权所有(C)2016,邱秋。metaphysis # yeah dot net#include<bits/stdc++.h>usingnamespacestd;structcube{inta,b,c,d;booloperator<(cube x)const{if(a!=x.a)returna<x.a;if(b!=x.b)returnb<x.b;if(c!=x.c)returnc<x.c;returnd<x.d;}};intmain(intargc,char*argv[]){vector<cube>cubes;// 枚举 b, c, dfor(intb=2;b<=200;b++)for(intc=b;c<=200;c++)for(intd=c;d<=200;d++){intsum=b*b*b+c*c*c+d*d*d;// 计算立方根(考虑浮点误差)inta=(int)(cbrt(sum)+0.5);// 检查是否满足方程且 a 大于 d 且 a 在范围内if(a*a*a==sum&&a<=200&&a>d)cubes.push_back({a,b,c,d});}// 按 a, b, c, d 排序sort(cubes.begin(),cubes.end());// 输出结果for(autogroup:cubes){cout<<"Cube = "<<group.a<<", Triple = (";cout<<group.b<<","<<group.c<<","<<group.d<<")"<<endl;}return0;}
http://www.zskr.cn/news/1459597.html

相关文章:

  • QMCDecode:3步轻松解密QQ音乐加密音频的终极macOS工具指南
  • 面试官最爱问的异步FIFO深度计算题,我用一个传感器数据采集的案例给你讲透
  • 船舶Z形操纵仿真MATLAB工具包:支持集装箱船、油轮等多船型及风浪耦合工况
  • PUBG罗技鼠标宏配置实战指南:从零到精通的压枪三部曲
  • Windows右键菜单终极清理指南:3步告别杂乱,重获清爽体验
  • MATLAB实操包:毫米波雷达多普勒测速+CFAR弱目标检测+高分辨测距全流程代码与结果图
  • 阿里技术大佬都在看的《阿里巴巴开发手册合集》,Java工程师必收!
  • 机器视觉:掩膜编辑
  • 终极指南:如何快速配置ViGEmBus虚拟手柄驱动实现完美游戏体验
  • 智能网联汽车竞赛代码实战包:轨迹跟踪、自动泊车、AEB与车道保持四大功能源码+可视化示例
  • MATLAB环境下基于留一法的SVM二分类完整实现:含数据、代码、可视化与评估报告
  • 如何快速上手GPT2_PMC-openmind:5分钟医学AI问答实战教程
  • AutoLabs:多智能体系统在化学实验自动化中的应用
  • 炉石传说终极优化指南:如何用HsMod插件提升你的游戏体验
  • GPT-5.5智能体工作方式:从Prompt驱动到可审计编排的范式跃迁
  • TRELLIS Text XL高级技巧:10个提升3D模型生成效果的实用方法
  • AI工具接入广告平台的72小时实战手册:从API对接到智能出价全链路拆解
  • Matlab线性天线阵列方向图仿真工具包:参数可调、结果可视、零依赖运行
  • GPT-5是假消息?2024年大模型落地实战指南
  • 深入ELF文件内部:用patchelf工具玩转动态库的DT_RPATH和DT_RUNPATH
  • 为什么PVE-VDIClient是企业级虚拟桌面和开源VDI解决方案的最佳选择?[特殊字符]
  • 从混乱到掌控:OBS Studio如何让直播变得像呼吸一样自然
  • 从一次httpd部署故障讲起:深入ELF内部,用patchelf和readelf联手调试动态库加载
  • 新手必看:PSINS工具箱glvf函数详解,从地球参数到全局变量初始化
  • 深度估计新范式:Distill-Any-Depth-Large-hf论文精读与代码复现
  • 5分钟彻底解决C盘爆红!Windows Cleaner终极免费清理工具
  • OpenCore Legacy Patcher终极指南:让老Mac焕发新生的免费神器
  • 3分钟掌握LaTeX公式转换神器:让数学公式在Word中完美呈现
  • Hermes WebUI认证API:实现安全自定义认证系统的完整指南
  • 2026年功能沙发采购指南:聚焦广东生产商的联系方式与选型策略 - 2026年企业资讯