枚举——完美立方算法

枚举

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

例如:求小于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)

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【笔记】Android Telephony 漫游SPN显示定制(Roaming Alpha Tag)

一、功能名词简介和显示规则 Alpha Tag&#xff1a;运营商名称标识符&#xff0c;也是用于标识运营商的一个名称。客户需求描述常用名词&#xff0c;对开发而言都是SPN/PLMN功能模块的内容&#xff0c;状态栏左上角的运营商名称显示。 SPN相关文章&#xff1a; 【笔记】SPN和…

从零开始学习Netty - 学习笔记 -Netty入门【协议设计和解析】

2.协议设计和解析 协议 在计算机中&#xff0c;协议是指一组规则和约定&#xff0c;用于在不同的计算机系统之间进行通信和数据交换。计算机协议定义了数据传输的格式、顺序、错误检测和纠正方法&#xff0c;以及参与通信的各个实体的角色和责任。计算机协议可以在各种不同的层…

【C++】STL容器string详解

string详解 一&#xff0c;STL简介1. 版本2. 六大组件 二&#xff0c;string类的使用1. string类的常用构造2. string类容量相关2.1 size和capacity接口2.2 reserve和resize 3. string类对象的访问和遍历&#xff0c;迭代器3.1 运算符重载[]3.2 string迭代器 4. string类对象的…

十九 超级数据查看器 讲解稿 分栏功能

十九 超级数据查看器 讲解稿 分栏功能 点击此处观看视频教程 讲解稿全文: 大家好&#xff0c;这讲介绍一下 &#xff0c;超级数据查看器的分栏功能。 分栏功能设计的初衷是为了让用户同时同地查询两个表格的数据&#xff0c;方便比较&#xff0c;获得更清晰的查询结果 分栏功…

gin gorm学习笔记

代码仓库 https://gitee.com/zhupeng911/go-advanced.git https://gitee.com/zhupeng911/go-project.git 1. gin介绍 Gin 是使用纯 Golang 语言实现的 HTTP Web框架&#xff0c;Gin接口设计简洁&#xff0c;提供类似Martini的API&#xff0c;性能极高&#xff0c;现在被广泛使用…

BUUCTF:[MRCTF2020]ezmisc

题目地址&#xff1a;https://buuoj.cn/challenges#[MRCTF2020]ezmisc 下载附件打开是一张照片&#xff1a; 放到kali中发现crc校验错误&#xff0c;修改照片宽高&#xff1a; 保存即可发现flag flag为&#xff1a; flag{1ts_vEryyyyyy_ez!}

【代码】Python3|无GUI环境中使用Seaborn作图的学习路线及代码(阴影折线图)

我有个需求是需要画图&#xff0c;让GPT帮我生成了一下学习计划。 学习路线依照GPT的来的&#xff0c;使用的Prompt工具是https://github.com/JushBJJ/Mr.-Ranedeer-AI-Tutor。 文章目录 PrerequisiteMain Curriculum1.1 Seaborn介绍Seaborn基础保存图形为文件练习 1.2 单变量数…

适用于 Windows 的 5 款最佳免费数据恢复软件榜单

每个计算机用户都曾经历过数据丢失的情况。很容易错误地删除重要的文件和文件夹&#xff0c;当发生这种情况时&#xff0c;可能会导致不必要的心痛和压力。值得庆幸的是&#xff0c;可以恢复 Windows PC 上丢失的数据。在本文中&#xff0c;我们将分享您可以使用的五种最佳 Win…

SwiftUI之CoreData详解(一)

coreData 是一种数据持久化的方案&#xff0c;是对SQLite的一种封装。一说到这种桌面化的数据库&#xff0c;我就无比的怀念Foxbase|Foxpro, 多好的数据库产品&#xff0c;被微软扼杀了&#xff0c;相当年教大学生妹子们国家二级数据库时都是手把手教的&#xff0c;呃~~~&#…

Linux-信号3_sigaction、volatile与SIGCHLD

文章目录 前言一、sigaction__sighandler_t sa_handler;__sigset_t sa_mask; 二、volatile关键字三、SIGCHLD方法一方法二 前言 本章内容主要对之前的内容做一些补充。 一、sigaction #include <signal.h> int sigaction(int signum, const struct sigaction *act,struc…

微服务:Feign篇

1.什么是Feign Feign是一种声明式、模板化的HTTP客户端&#xff0c;可用于调用HTTP API实现微服务之间的远程服务调用。它的特点是使用少量的配置定义服务客户端接口&#xff0c;可以实现简单和可重用的RPC调用。 先来看我们以前利用RestTemplate发起远程调用的代码&#xff…

【leetcode热题】分发糖果

n 个孩子站成一排。给你一个整数数组 ratings 表示每个孩子的评分。 你需要按照以下要求&#xff0c;给这些孩子分发糖果&#xff1a; 每个孩子至少分配到 1 个糖果。相邻两个孩子评分更高的孩子会获得更多的糖果。 请你给每个孩子分发糖果&#xff0c;计算并返回需要准备的…