枚举——完美立方算法

枚举

基于逐个尝试答案的一种问题求解策略

例如:求小于N的最大素数

          找不到一个数学公式,使得根据N就可以计算出这个素数

           N-1是素数吗?N-2是素数吗?

            ……

             判断N-i是否是素数的问题

             转化成求小于N的全部素数(可以用筛法)

例题1:完美立方

形如a^{3}=b^{3}+c^{3}+d^{3}的等式被称为完美立方等式。例如12^{3}=6^{3}+8^{3}+10^{3}。编写一个程序,对任给的正整数N(N<=100),寻找所有的四元组(a,b,c,d),使得a^{3}=b^{3}+c^{3}+d^{3},其中a,b,c,d大于1,小于等于N,且b<=c<=d.

输入

一个正整数N(N<=100)。

输出

每行输出一个完美立方。输出格式为:

Cude=a,Triple=(b,c,d)

其中a,b,c,d所在位置分别用实际求出四元组值代入。

请按照a的值,从小到大依次输出。当两个完美立方等式中的a值相同,则b的值小的优先输出、仍相同则c值小的优先输出、再相同则d值小的先输出。

解题思路:

四重循环枚举a,b,c,d,a在最外层,d再最里层,每一层都是从小到大的枚举,a的枚举范围【2,N】,b范围【2,a-1】,c范围【2,a-1】,d范围【2,a-1】理论b,c,d三个数字取值范围可以取相同,程序同样可以计算,但如果将c,d的取值范围改为c的范围【b,a-1】,d的范围【c,a-1】(可以大大提高计算效率)

#include <iostream>
#include<cstdio>
using namespace std;
int main()
{
	int N;
	scanf("%d",&N);
	for(int a=2;a<=N;++a)
	    for(int b=2;b<a;++b)
	        for(int c=b;c<a;++c)
	            for(int d=c;d<a;++d)
	                if(a*a*a==b*b*b+c*c*c+d*d*d)
	                printf("Cude= %d, Triple=(%d,%d,%d)\n",a,b,c,d);
	return 0;                
}

样例输入:

24

输出:

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/428005.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux:ansible-playbook配置文件(剧本)(进阶)

Linux&#xff1a;ansible-playbook配置文件&#xff08;剧本&#xff09;_ansible-playbook -i参数-CSDN博客https://blog.csdn.net/w14768855/article/details/132579492?ops_request_misc%257B%2522request%255Fid%2522%253A%2522170930036016800215061982%2522%252C%2522s…

flutter学习(一) 安装以及配置环境

首先需要下载flutter&#xff0c;然后解压 然后配置环境变量&#xff0c;配置到bin目录就行 然后在用户变量里再配置一下&#xff08;不配置后来你就知道有多重要了&#xff09; PUB_HOSTED_URL https://pub.flutter-io.cn FLUTTER_STORAGE_BASE_URL https://storage.flut…

【CesiumJS-3】加载倾斜模型数据(3DTilest)以及修改位置

引入倾斜模型数据 // 加载3DTiles数据let tileset;try {tileset await Cesium.Cesium3DTileset.fromUrl("/api/3DTiles/b3dm_qx/tileset.json");viewer.value.scene.primitives.add(tileset); // 倾斜模型添加到场景中viewer.value.zoomTo(tileset); // 视角定位到倾…

Nano 33 BLE Sense Rev2学习第一节——环境配置

参考文档见Access Barometric Pressure Sensor Data on Nano 33 BLE Sense | Arduino Documentation 打开Arduino ide安装开发板 选择开发板 连接开发板到电脑&#xff0c;自动识别开发板端口&#xff0c;选择端口

鸿蒙Harmony应用开发—ArkTS声明式开发(通用属性:图像效果)

设置组件的模糊、阴影、球面效果以及设置图片的图像效果。 说明&#xff1a; 从API Version 7开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 blur blur(value: number, options?: BlurOptions) 为组件添加内容模糊效果。 卡片能力&am…

电脑提示d3dcompiler_43.dll丢失的解决方法分享,教你4种方法修复

在电脑使用过程中&#xff0c;你可能遇到一个报错通知&#xff0c;系统提示你d3dcompiler_43.dll文件缺失。那么&#xff0c;什么是d3dcompiler_43.dll文件&#xff1f;它有什么作用&#xff1f;如何修复文件缺失的问题呢&#xff1f;本文将为你详细解答&#xff0c;我们会给大…

网络安全知识入门:Web应用防火墙是什么?

在互联网时代&#xff0c;网络安全问题逐渐受到重视&#xff0c;防火墙的配置也是非常必要的。它是位于内部网和外部网之间的屏障&#xff0c;更是系统的第一道防线。Web应用防火墙是什么&#xff0c;如何才能更好地保护Web应用&#xff0c;这篇文章会从应用安全为出发点&#…

【VTKExamples::PolyData】第四十五期 QuantizePolyDataPoints

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 前言 本文分享VTK样例QuantizePolyDataPoints,并解析接口vtkQuantizePolyDataPoints,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力(^U^)ノ~Y…

原牛角源码(修罗bbs)全站程序打包带数据库备份

原牛角源码(修罗bbs)全站程序打包带数据库备份&#xff0c;牛角源码全站数据全站文件、插件打包分享给大家&#xff0c;有兴趣的可以搭建玩玩 源码下载地址专业知识分享社区-专业知识笔记免费分享 (chaobiji.cn)

支持向量机 SVM | 线性可分:硬间隔模型公式推导

目录 一. SVM的优越性二. SVM算法推导小节概念 在开始讲述SVM算法之前&#xff0c;我们先来看一段定义&#xff1a; 支持向量机(Support VecorMachine, SVM)本身是一个二元分类算法&#xff0c;支持线性分类和非线性分类的分类应用&#xff0c;同时通过OvR或者OvO的方式可以应用…

【设计模式】观察者模式及函数式编程的替代C++

本文介绍观察者模式以及使用函数式编程替代简单的策略模式。 观察者模式 观察者模式是一种行为型设计模式&#xff0c;它定义了一种一对多的依赖关系&#xff0c;当一个对象的状态发生改变时&#xff0c;其所有依赖者都会收到通知并自动更新。 当对象间存在一对多关系时&#…

Java集合框架-Collection和Map

文章目录 Collection-单列集合特点ListArrayListLinkedListVecter SetHashSetTreeSet Map-键值对集合特点Map常用APIput添加细节remove Map的三种遍历方式1.通过键找值2.通过"键值对"3.Lambda表达式foreach源码 HashMap需求 为什么要使用泛型 泛型的优点1.集合中存储…

c4d渲染到一半未响应怎么办?

如果您曾经遇到过 Cinema 4D 在渲染过程中崩溃的令人沮丧的场景&#xff0c;这种情况是很常见的。这种意外的卡顿崩溃&#xff0c;尤其是在经过数小时的精心工作之后&#xff0c;确实令人烦躁。为了帮助您解决此问题&#xff0c;您可以查看一些内容。 1、硬件限制&#xff1a;…

鸿蒙App开发新思路:小程序转App

国家与国家之间错综复杂&#xff0c;在谷歌的安卓操作系统“断供”后&#xff0c;鸿蒙系统的市场化&独立化的道路便显而易见了。 2024年1月18日&#xff0c;华为宣布&#xff0c;不再兼容安卓的“纯血鸿蒙”--HarmonyOS NEXT鸿蒙星河版最终面世&#xff0c;并与2024年Q4正…

C++模板完整版

顾得泉&#xff1a;个人主页 个人专栏&#xff1a;《Linux操作系统》 《C从入门到精通》 《LeedCode刷题》 键盘敲烂&#xff0c;年薪百万&#xff01; 一、泛型编程 如何实现一个通用的交换函数呢&#xff1f; void Swap(int& left, int& right) {int temp left…

BioTech - ADMET的性质预测 概述

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://blog.csdn.net/caroline_wendy/article/details/136438192 ADMET&#xff0c;即 Absorption、Distribution、Metabolism、Excretion、Toxicity&#xff0c;吸收、分布、代谢、排泄、毒性…

VL53L8CX驱动开发(1)----驱动TOF进行区域检测

VL53L8CX驱动开发----1.驱动TOF进行区域检测 概述视频教学样品申请源码下载主要特点硬件准备技术规格系统框图应用示意图区域映射生成STM32CUBEMX选择MCU 串口配置IIC配置LPn 设置X-CUBE-TOF1串口重定向代码配置Tera Term配置演示结果 概述 VL53L8CX是一款8x8多区域ToF测距传感…

【学习心得】爬虫JS逆向通解思路

我希望能总结一个涵盖大部分爬虫逆向问题的固定思路&#xff0c;在这个思路框架下可以很高效的进行逆向爬虫开发。目前我仍在总结中&#xff0c;下面的通解思路尚不完善&#xff0c;还望各位读者见谅。 一、第一步&#xff1a;明确反爬手段 反爬手段可以分为几个大类 &#…

【CSP试题回顾】202305-2-矩阵运算

CSP-202305-2-矩阵运算 关键点总结&#xff1a;改变矩阵计算顺序优化时间复杂度 通过先计算 K T V K ^ T \times V KTV 而不是先计算 Q K T Q \times K ^ T QKT&#xff0c;有效地减少了计算时间&#xff0c;特别是在处理长序列时。这种优化通常在数据维度一不等时有显著效…

盘点:国家智能算力中心

文章目录 1. Main2. My thoughtsReference 1. Main 按照《中国算力白皮书&#xff08;2022年&#xff09;》的定义&#xff0c;算力主要分为四部分&#xff1a;通用算力、智能算力、超算算力、边缘算力。通用算力以CPU芯片输出的计算能力为主&#xff1b;智能算力以GPU、FPGA、…