首页 > 其他分享 >【题解】HD2016.X1,HD2016.X3,HD2016.X4,HD2016.X5

【题解】HD2016.X1,HD2016.X3,HD2016.X4,HD2016.X5

时间:2023-11-22 19:49:10浏览次数:25  
标签:return 数列 题解 样例 pair HD2016 1lf X3

[HD2016.X1] 价钱统计

题目描述

夏天到了,超市里摆满了各种各样的应季水果。现在知道:西瓜的价钱是每斤 1.2 元;桃子的价钱是每斤 3.5 元;葡萄的价钱是每斤 4.5 元;苹果的价钱是每斤 5 元。

现在分别给出上述四种所购买的斤数(均不超过 20),请你编写程序帮助售货员阿姨计算并依次输出顾客购买四种水果需要的钱数以及总钱数。

输入格式

只有一行,包含四个符合题目要求的非负数,依次表示需要购买西瓜、桃子、葡萄和苹果的斤数。

两两之间用一个空格分隔。

输出格式

共有五行,每行仅包含一个数,依次代表购买西瓜、桃子、葡萄、苹果所需的钱数,以及购买四种的总钱数。

所有数据均采取四舍五入保留 1 位小数

样例 #1

样例输入 #1

4 3 2.1 6

样例输出 #1

4.8
10.5
9.5
30.0
54.8

题解

这道题没啥说的,顺序结构搞定。

注意四舍五入保留两位小数时:\(\{^{\text{if type(float):printf("%.2f",valueName);}}_{\text{if type(double):printf("%.2lf",valueName);}}\)

AC code

#include<bits/stdc++.h>
using namespace std;
int main() {
	double a,b,c,d,aa,bb,cc,dd,sum;
	cin>>a>>b>>c>>d;
	aa=a*1.2,bb=b*3.5,cc=c*4.5,dd=d*5,sum=aa+bb+cc+dd;
	printf("%.1lf\n%.1lf\n%.1lf\n%.1lf\n%.1lf",aa,bb,cc,dd,sum);
	return 0;
}

[HD2016.X3] 数列计算(分数)

题目描述

有一列数是:4/7,7/11,11/18,18/29,29/47,47/76 ……

请找出这个数列的规律,编写程序计算并输出这个数列的第 N 项(要求是分数形式),并计算这个数列的前N项和。

输入格式

一行一个正整数 N(3≤N≤30) 。

输出格式

共有两行:

第一行如样例中的一个特定格式的分数表示这个数列的第 N 项;

第二行仅包含一个数表示这个数列的前 N 项的和,结果四舍五入保留 2 位小数。

样例 #1

样例输入 #1

6

样例输出 #1

47/76
3.68

题解

第一小问递推和递归都行,但我推荐递归。

递归公式:\(\{^{\text{if n=1:return make_pair(4,7);}}_{\text{else return make_pair(f(n-1).second,f(n-1).second+f(n-1).first);}}\)

第二小问直接多次访问递归函数即可。

AC code

#include<bits/stdc++.h>
using namespace std;
pair<double,double> f(int n) {
	if(n==1) {
		return make_pair(4.0,7.0);
	}
	return make_pair(f(n-1).second,f(n-1).second+f(n-1).first);
}
int main() {
	int n;
	cin>>n;
	cout<<f(n).first<<"/"<<f(n).second<<endl;
	double ans=0;
	for(int i=1;i<=n;i++) {
		ans+=f(i).first/f(i).second;
	}
	printf("%.2lf",ans);
	return 0;
}

标签:return,数列,题解,样例,pair,HD2016,1lf,X3
From: https://www.cnblogs.com/daiyulong/p/tijie-HD2016X1-HD2016X3-HD2016X4-HD2016X5.html

相关文章

  • COMP 340 操作系统 Bounded Buffer问题解决
    这里有3个发生器,每个发生器独立地产生一种独特的材料。所有这些材料在被转发给操作员之前被存储在大小为10的输入缓冲器中。我们有三个具有相同优先级的运营商,他们负责生产基于这些材料。每种产品需要2种不同的材料。每次操作员需要2个用于此目的的工具。总共为这些操作员提供了3......
  • composer无法下载问题解决
    composerrequirejaeger/querylist[Composer\Downloader\TransportException] The"https://packagist.phpcomposer.com/p/provider-2017%241fcb04ee223fce21d167c8a49f09025ba85c917aee976588a99ef82c3a a609dc.json"filecouldnotbedownloaded(HTTP/1.......
  • P8907 [USACO22DEC] Making Friends P 题解
    明明看着不难的题目,却意外的卡人。思路考虑两头奶牛可以成为朋友条件是什么。存在一条路径连接这两头奶牛。且除去端点外的路径上的所有点的编号小于两端点的较小值。充分必要性都比较显然。如何维护。我们可以从小到大加入点,维护这些路径。对于每个点维护一个\(\text{se......
  • 【luogu题解】P9749 [CSP-J 2023] 公路
    \(Meaning\)\(Solution\)这道题我来讲一个不一样的解法:\(dp\)在写\(dp\)之前,我们需要明确以下几个东西:状态的表示,状态转移方程,边界条件和答案的表示。状态的表示\(dp[i]\)表示到达第\(i\)个站点所需要的最少钱数,\(w[i]\)表示在使用最少钱数到达第\(i\)个站点时多余......
  • 【模板】最小度限制生成树 题解
    其他的题解感觉都好高级,分享一种好想且好实现的方法。我们可以先把点\(s\)和与其相连的边都删除,我们发现剩下的部分变成了一些连通块。我们不难发现,当要求与\(s\)点相连的边的个数为\(k\)时,我们的连通块个数显然是\(k\)的。接下来这个问题就转化成了:\(n-1\)个点中生......
  • [IOI2015] Teams 题解
    妙妙题。不难发现,我们对于每个\(k\)取出的人都是满足\(a_i\leqk\leqb_i\)的。经典的,我们直接将\((a_i,b_i)\)转化到二维平面上,将它转化成一个二维数点问题。我们对于每一个询问,都使\(k\)有序,从小到大贪心的选择,也就相当于\(x\)轴限制不断向右,\(y\)轴限制不断......
  • zookeeper3.5.5以上8080端口占用问题解决
    zookeeper3.5.5启动默认会把AdminService服务启动,这个服务默认是8080端口,是一个通过jetty启动的管理控制台,一般不会用到,网上的复制粘贴就是来自同一个办法如下:方法一、删除jetty方法二、修改端口。修改方法的方法有两种:在启动脚本中增加-Dzookeeper.admin.serverPort=你的端......
  • P9868 题解
    blog。NOIP2023T1。可以对字符串随意交换,即可以重排每个单词。对于询问\(i\),最优方案显然是将\(\forallj\nei\)的\(w_j\)重排至字典序最大,将\(w_i\)重排至字典序最小。这件事情本质是将\(w_i\)与\(\min\limits_{j\nei}w_j\)比较。在开始时将全部串重排至字典序......
  • 【AGC】鸿蒙应用软件包上传问题解析
    ​【问题背景】近期收到了一些反馈,一些鸿蒙元服务开发者在发布应用市场的过程中,上传.app包时遇到了不同的报错,导致上传失败,下面来看一下这些报错的具体原因,如何正确打包上传。 【问题描述1】HarmonyOS元服务软件包上传后,提示“软件包解析失败,请重新上传”,错误详情(5)​​​【......
  • T401305 平面划分(easy) 题解
    LinkT401305平面划分(easy)Solution平面上\(n\)条直线所划分处的区域最大个数\(L_n\)是多少我们考虑假设已经有\(n-1\)条直线,我们需要画一条直线,这条直线最多和\(n-1\)条直线相交产生\(n\)个新的区域所以我们得到了\[\begin{align*} &L_0=1\\ &L_n=L_{n-1}......