首页 > 编程语言 >C++递归找规律典型题:派蒙的问题

C++递归找规律典型题:派蒙的问题

时间:2024-08-05 11:57:34浏览次数:11  
标签:典型 return 递归 int 编程 long 旅行者 C++ 迷题

题目描述:有一天,旅行者和派蒙来到了一个未知的世界。这个世界充满了奇幻的景色和令人迷失的迷宫。他们决定一起探索这个神秘的地方,希望寻找宝藏和解开谜题。

当他们穿越迷宫的时候,他们突然来到了一个巨大的房间。房间的中央有一个巨大的石头柱子,上面镶嵌着奇怪的符号和图案,上面写着:

long long dfs(int l, int r) {
	if(l > r) return 0;
	if(l == r) return r;
	if(l != r) {
		int mid = (l+r)/2;
		return dfs(l, mid) + dfs(mid + 1, r);
	}
}

派蒙观察了一会儿,然后惊叹道:“这是一道编程迷题,旅行者!我们必须解开这个谜题来继续前进。”

旅行者和派蒙开始思考如何解密柱子上的编程迷题。他们发现符号和图案之间存在着一定的规律和关联,只有正确理解和编码这些规律,才能解开谜题。他们深入研究了编程概念和算法,试图找到解决方案。

他们在纸上画出了一些图表和表格,尝试了各种编程逻辑和技巧。随着他们的努力,柱子上的编程迷题似乎渐渐显示出线索和解法的蛛丝马迹。他们经过不断的尝试和调整,试图找到符合迷题规则的正确编码序列。

经过旅行者和派蒙的研究,他们发现有 T 次询问,每次询问都会给两个数字,表示 l 和 r ,但每次询问都必须快速给出答案,这对派蒙的智力来说有些困难,你能帮助旅行者和派蒙解开这个迷题,继续他们的冒险吗?

输入描述:第一行一个数字 T,T≤10^5
                接下来 T 行,每行两个数字,表示给定的 l,r
                其中 1≤l≤r≤10^9

输出描述:每行输出一个数字,表示一个询问的答案

样例输入1:

1
1 1

样例输出1:

1

样例输入2:

2
1 4
3 5

样例输出2:

10
12

思路解析:分析派蒙和旅行者发现的一串c++代码,可以发现,代码的本质是从l加到r

书写代码:

long long sum(long long n){
    return n*(n+1)/2;
} 

完整代码:

#include <bits/stdc++.h>
using namespace std;
long long sum(long long n){
	return n*(n+1)/2;
}
int main()
{
	int T;
	cin>>T:
	while(T--){
		int l,r;
		cin>>l>>r;
		cout<<sum(r)-sum(l-1)<<endl;
	} 
	return 0;
}

over

标签:典型,return,递归,int,编程,long,旅行者,C++,迷题
From: https://blog.csdn.net/2301_79367516/article/details/140813035

相关文章

  • c++递归算法较难题:分解数字
    题目描述:输入自然数 n,然后将其分拆成由若干数相加的形式,参与加法运算的数可以重复,要求输出降序排列。输入描述:一个待拆分的自然数n,(n≤50) 。输出描述:若干个拆分的加法等式。样例输入:5样例输出:5=55=4+15=3+25=3+1+15=2+2+15=2+1+1+15=1+1+1+1+1题目思想:将要分......
  • C++回溯算法经典例题:四皇后问题
    问题简介:在一个4×4的棋盘上,任意两个皇后都不能处在同一行、同一列任意两个皇后都不能处在同一斜线上(主斜线、反斜线)。题目分析:1.假设第一个皇后在(1,1):    1)在x=3时会卡死            2)在x=4时会卡死        2.假设第一个皇后在(2,1): ......
  • C++简单模拟:电梯问题
    问题描述:某城市最高建筑物只有一个电梯,一个请求列表是由 n 个正整数组成的。数字表示电梯将停在哪个楼层。电梯向上移动一层需要 6 秒,向下移动一层需要 4 秒。电梯每次停下会停留 5 秒,对于给定的请求列表,需要计算用于满足列表中所有请求的总时间。电梯开始时在第一层......
  • C++商店管理系统
    代码中使用了C++11的特性后面有些输出(cout输出的)的提示文本是英文,因为懒得敲中文源码在最后面文末投票参与一下谢谢商品数据保存在items.txt用户数据保存在users.txt实现功能1.添加商品(商品ID,商品名,库存数量,价格)填写完信息后询问是否执行2.修改商品(先提示原有信......
  • SpringBoot-书店信息管理系统+93494(免费领源码+开发文档)可做计算机毕业设计JAVA、PHP
    基于springboot书店信息管理系统摘 要书店信息管理系统采用B/S结构、java开发语言、以及Mysql数据库等技术。系统主要分为管理员和用户两部分,管理员管理主要功能包括:首页、轮播图、公告栏、资源管理(图书资讯、资讯分类)交流管理(留言板、留言板分类)系统用户(管理员、顾客用户......
  • 【每日一题】【DFS】【试除法求约数】【大剪枝】清楚姐姐跳格子 牛客周赛 Round 54 D
    牛客周赛Round54D题清楚姐姐跳格子题目背景牛客周赛Round54题目描述样例#1样例输入#1523154样例输出#12做题思路首先知道ai......
  • Halcon C++ 环境配置
    前言:这一段时间因为工作原因在使用Halcon做机器视觉的方案,因此学习了小半年的halcon,在学习过程中使用记事本记录下了学习过程中的一些经验,整理出来分享。目标:在VS2020编译环境下,配置Halcon的环境,使之能够调用Halcon的方法。方法:打开新建的项目,点开该项目的属性。在VC++目录......
  • C++(仿函数)
    目录1.仿函数的定义和使用2.仿函数的优点3.总结仿函数(Functor)是C++中的一种重要概念,它指的是一个重载了operator()的类或结构体。仿函数允许你像使用普通函数一样使用类的实例。它们通常用于需要函数作为参数的算法或需要自定义操作的场景。1.仿函数的定义和使用定义......
  • C++进阶 map和set
    目录关联式容器键值对set的介绍set的使用set的模板参数列表set的构造set的迭代器set的容量set修改操作 multiset的介绍multiset的使用map的介绍map的使用map的模板参数说明map的构造map的迭代器map的容量与元素访问map中元素的修改 multimap的介绍关联......
  • 求助!C++使用Eigen求多项式根报错访问冲突
    本地环境:VS2022安装的NuGet包:Eigen版本3.3.9配置MKL头文件相关代码#include<cmath>#include<math.h>#include<stddef.h>#include<stdlib.h>#include<string.h>voidComputeTest();源文件相关代码#defineEIGEN_USE_MKL_ALL#defineEIGEN_VECTORIZ......