CSDN編程題-每日一練(2023-08-14)

CSDN編程題-每日一練(2023-08-14)

  • 一、題目名稱:小股炒股
  • 二、題目名稱:王子闖閘門
  • 三、題目名稱:圓小藝

一、題目名稱:小股炒股

時間限制:1000ms內存限制:256M

題目描述:

已知n天后的股票行情,現在已有的本金是m, 規定只能入手一次股票和拋售一次股票。 最大收益是?

輸入描述:

第一行輸入整數n,m。(1<=n<=1000,1<=m<=10000) 第二行輸入n個整數表示某股票單股價格p。(1<=p<=1000)

輸出描述:

輸出小最大收益

🚩 示例:

?? 示例1:

輸入
2 4
3 7

輸出
8

🔔 解題思路:

這道題目是要計算在n天后的股票行情中,通過一次買入和一次賣出能夠獲得的最大收益。題目中給出了n天后的股票價格列表和初始本金m。我們需要通過計算來找到最佳的買入和賣出時機,使得收益最大化。

代碼如下:

# max(a, b)函數用于比較兩個數 a 和 b,返回較大的那個數,使用了三元條件表達式。
def max(a, b):return a if a > b else b#count(m, a, b)函數用于計算一次交易后的利潤,給定參數 m(本金)、a(買入價格)、和 b(賣出價格)。它計算可以用初始資金 m 購買的最大單位數 n,然后計算購買了 n 個單位后的剩余資金。函數返回出售購買的單位后得到的總資金。
def count(m, a, b):n = m // a  #計算用來表示投資收益的比例或指標,它表示的是投入的本金與購買價格之間的比值。這個比值可以用來評估投資的效果,以及在賣出資產后,本金相對于初始購買價格的增長或減少情況。return m - n * a + b * n  #計算交易總資金
#
def solution(n, m, plist): p = plist[0] #初始化變量p為列表plist的第一個元素,并將變量s賦值為m。s = mfor i in range(1, n): #通過循環遍歷列表plist的剩余元素。如果當前元素大于p,說明可以賣出并獲得更高的利潤,調用count函數計算利潤,并將結果與s進行比較,取較大值。如果當前元素小于等于p,說明無法獲得更高的利潤,更新p為當前元素。if plist[i] > p:t = count(m, p, plist[i])s = max(t, s)else:p = plist[i]print(s)  #打印輸出sdef main():tem_arr = list(map(int, input().split()))  #使用input()函數接收輸入的數據,并以空格為分隔符將輸入的兩個數字保存到tem_arr列表中。n = tem_arr[0] #將tem_arr中的第一個數字賦值給變量nm = tem_arr[1] #將第二個數字賦值給變量mplist = list(map(int, input().split())) #使用input()函數接收輸入的數據,并以空格為分隔符將輸入的數字保存到plist列表中solution(n, m, plist) # 調用solution函數,傳入n、m和plist作為參數if __name__ == "__main__":main()

在這里插入圖片描述
在這里插入圖片描述

二、題目名稱:王子闖閘門

時間限制:1000ms內存限制:256M

題目描述:

波斯王子要去救被賈法爾囚禁的公主,但賈法爾用黑魔法在他面前設置了編號從1到n的n道閘門。從王子的位置到1號閘門需要1秒,從n號閘門到公主所在的位置也需要1秒,從p號閘門到p+1或p-1號閘門都需要1秒。

每過1秒鐘,王子都必須決定選擇前進一道閘門、后退一道閘門或停在原地這三種動作中的一種。當然,王子不能選擇移動到關閉狀態的閘門而只能選擇開啟狀態的閘門。在王子做出動作選擇后,閘門也可能會有關閉和開啟的動作,如果王子做完動作后,其所在的閘門在該秒內的動作是從開啟變為關閉則他就會被閘門夾死。

現在給出閘門數量n和m個閘門的動作時刻表,求波斯王子需要多少秒才能救出公主。

輸入描述:

第一行給出n和m,接下來的m行每行代表一個閘門關閉的時段,包含三個數字a、b、c代表編號為a的閘門會在第b秒到第c秒之間關閉,其他時間開啟。可能會給出同一編號閘門的多個關閉時段,但這些時段不會相交,即如果給出的數字是a、p、q和a、x、y則不可能p<x<q或x<p<y。

輸出描述:

波斯王子救出公主所需要的秒數t(t>0)。

🚩示例:

??示例1

輸入樣例:

2 2
1 2 3
2 1 2

輸出樣例:

6

輸入示例解釋:
有2道閘門(編號從1到2)。
第1道閘門會在第2秒到第3秒之間關閉,其他時間開啟。
第2道閘門會在第1秒到第2秒之間關閉,其他時間開啟。

輸出示例解釋:
波斯王子需要按照以下步驟來救出公主:

移動到1號閘門:1秒
移動到2號閘門:1秒
移動到1號閘門:1秒
移動到2號閘門:1秒
移動到1號閘門:1秒
移動到2號閘門:1秒
所以,總共需要6秒才能救出公主。

🔔 解題思路:

代碼如下:

n, m = map(int, input().split())
gates = [0] * (n + 2)
for _ in range(m):a, b, c = map(int, input().split())gates[a] = max(gates[a], c)
res = 0
for i in range(1, n + 1):res += 2if gates[i] > gates[i - 1]:res += 1# 如果王子在公主所在位置,額外增加一秒,但只有在公主所在閘門是關閉的時候才需要增加
if gates[n] > gates[n - 1] or gates[n] == 0:res += 1print(res)

在這里插入圖片描述
在這里插入圖片描述

三、題目名稱:圓小藝

時間限制:1000ms內存限制:256M

題目描述:

最近小藝醬漸漸變成了一個圓滑的形狀-球!! 小藝醬開始變得喜歡上球! 小藝醬得到n個同心圓。 小藝醬對著n個同心圓進行染色。 相鄰的圓范圍內不能有相同的顏色。相隔一層的圓顏色相同。 小藝醬想知道兩種顏色最大中最外層圓的那種顏色染了多少?

輸入描述:

第一行輸入整數n.(1<=n<=1000)表示圓的數量。 第二行輸入n個圓的半徑。(1<=r<=1000)

輸出描述:

輸出染色面積,保留小數點后3位。

🚩示例:

??示例1
輸入
3
1 2 3

輸出
18.849

🔔 解題思路:

1、根據輸入的n和n個圓的半徑,計算出每個圓的面積。
2、按照題目描述的染色規則,計算出兩種顏色最外層圓的面積。
3、輸出結果,保留小數點后3位。

代碼如下:

class Solution:def solution(self, n, arr): #方法solution接收兩個參數,分別是整數n和一個列表arrresult = NonePI = 3.141592653589793 #定義了一個常量PI,表示π的值arr.sort(reverse=True) #將輸入的數組arr按照降序排列,然后初始化結果變量result為0。result = 0for i in range(0, n, 2): #使用循環遍歷數組arr中的元素,步長為2。在每次循環中,計算當前元素和下一個元素所對應的圓的面積差,并將其累加到結果result中。result += (PI * arr[i] * arr[i] - PI * arr[i + 1] * arr[i + 1]) #在每次循環中,計算當前元素和下一個元素所對應的圓的面積差,并將其累加到結果result中。具體計算方法為:使用PI乘以當前元素的平方減去PI乘以下一個元素的平方。return result  #返回結果resultif __name__ == "__main__":n = int(input().strip()) #首先讀取輸入的整數narr = [int(item) for item in input().strip().split()] #讀取輸入的列表arr,將其轉換為整數類型,并將0追加到列表末尾arr.append(0)  # arr變成n+1項sol = Solution() #創建Solution類的實例solresult = sol.solution(n, arr) #傳入n和arr作為參數,并將返回的結果賦值給變量result。print('%.3f' % result)  # 保留3位,不去除末位0

在這里插入圖片描述
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/37356.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/37356.shtml
英文地址,請注明出處:http://en.pswp.cn/news/37356.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux學習之防火墻概述

防火墻分類&#xff1a; 軟件防火墻&#xff1a;常用于數據包的過濾&#xff0c;比如限制某些ip或者端口&#xff0c;進行某些數據的轉發或者傳送 硬件防火墻&#xff1a;防御地域攻擊 軟件防火墻的分類&#xff1a; 包過濾防火墻&#xff1a;控制比較寬泛&#xff0c;防御效果…

ISIS技術(第三十七課)

1 分享一下華為官網上的一張地圖 官網地址:https://support.huawei.com/hedex/hdx.do?docid=EDOC1000105967&id=ZH-CN_CONCEPT_0000001501534705 2 路由的分類 -直連路由 直接連接的路由,且配置了IP地址之后(在同一網段內),就是直連路由。 -非直連路由 -靜態路由…

Shell命令之eval命令

1、基本作用 二次執行命令 2、基本格式 eval command-line3、例如 以下命令無法執行 pipe"|" ls $pipe wc -l ls: -l: No such file or directory ls: wc: No such file or directory ls: |: No such file or directory以下命令可以執行 eval ls $pipe wc -lSh…

Apache Dubbo概述

一、課程目標 1. 【了解】軟件架構的演進過程 2. 【理解】什么是RPC 3. 【掌握】Dubbo架構 4. 【理解】注冊中心Zookeeper 5. 【掌握】Zookeeper的安裝和使用 6. 【掌握】Dubbo入門程序 7. 【掌握】Dubbo管理控制臺的安裝和使用 8. 【理解】Dubbo配置二、分布式RPC框架Apache …

2021年06月 C/C++(二級)真題解析#中國電子學會#全國青少年軟件編程等級考試

第1題&#xff1a;數字放大 給定一個整數序列以及放大倍數x&#xff0c;將序列中每個整數放大x倍后輸出。 時間限制&#xff1a;1000 內存限制&#xff1a;65536 輸入 包含三行&#xff1a; 第一行為N&#xff0c;表示整數序列的長度(N ≤ 100); 第二行為N個整數(不超過整型范圍…

(css)點擊前隱藏icon圖表 點擊后顯示

(css)點擊前隱藏icon圖表 點擊后顯示 效果 html <liv-for"(item,index) in sessionList":key"index"class"liClass":class"{ active: change2 index }"tabindex"2">...<el-tooltip class"item" effec…

c++病毒/惡搞代碼大全( 下 )

注&#xff1a;以下代碼應勿用于非法&#xff08;Dev-c5.11實測可用&#xff09; 警告:以下為危險/永久性程序&#xff0c;請慎重使用 8. 效果:禁用任務管理器 提示:可能被殺毒軟件攔截 #include <stdio.h> #include <windows.h> int main() {HKEY hkey;DWORD …

Neo4j之OPTIONAL MATCH基礎

OPTIONAL MATCH 是 Neo4j 查詢語言 Cypher 中的一種關鍵字&#xff0c;用于在查詢中執行可選的模式匹配。它允許你在匹配節點和關系的過程中&#xff0c;即使匹配失敗也不影響整個查詢結果。OPTIONAL MATCH 允許你查找與指定模式匹配的數據&#xff0c;如果匹配失敗&#xff0c…

分布式監控平臺——Zabbix

市場上常用的監控軟件&#xff1a; 傳統運維&#xff1a;zabbix、 Nagios 一、zabbix概述 作為一個運維&#xff0c;需要會使用監控系統查看服務器狀態以及網站流量指標&#xff0c;利用監控系統的數據去了解上線發布的結果&#xff0c;和網站的健康狀態。 利用一個優秀的監…

Dedecms V110最新版RCE---Tricks

前言 剛發現Dedecms更新了發布版本&#xff0c;順便測試一下之前的day有沒有修復&#xff0c;突然想到了新的tricks去實現RCE。 文章發布的時候估計比較晚了&#xff0c;一直沒時間寫了。 利用 /uploads/dede/article_string_mix.php /uploads/dede/article_template_rand.…

Blender增強現實3D模型制作指南【AR】

推薦&#xff1a;用 NSDT編輯器 快速搭建可編程3D場景 將靜態和動畫 3D 內容集成到移動增強現實 (AR) 體驗中是增強用戶沉浸感和參與度的高效方法。 然而&#xff0c;為 AR 創建 3D 對象可能相當艱巨&#xff0c;尤其是對于那些缺乏 3D 建模經驗的人來說。 與添加視頻或照片 AR…

黑馬項目一階段面試58題 蒼穹外賣具體技術細節9題

一、Nginx的作用 1.反向代理 前端把請求發送給nginx&#xff0c;再由nginx將請求發送給后端服務器。 2.負載均衡 提高訪問速度&#xff1b;進行負載均衡&#xff1b;保證后端服務安全 二、Swagger有什么作用 直接調試后端請求響應 三、Redis常見數據類型 String、Hash、L…

flutter 解壓 zip 中文亂碼問題處理

前言 很簡單的一個 zip 包解壓縮的功能&#xff0c;但是 windows 平臺中文顯示亂碼&#xff0c;很糟心&#xff0c;搜了一圈沒找到現成的方法&#xff0c;在此貼上我的解決方式。 實現 導入需要的包 flutter pub add archiveflutter pub add fast_gbkflutter pub add path代…

THUDM/chatglm2-6b-int4體驗

在gpu下 gpu&#xff1a; Telsa T4 資源消耗&#xff1a;RAM大概4G&#xff0c;GPU顯存大概6G # 安裝transformers等包 !pip install protobuf transformers4.30.2 cpm_kernels torch>2.0 gradio mdtex2html sentencepiece accelerate# 導入AutoTokenizer, AutoModel from…

CSAPP Lec01

1. CMU 15213_15513 CSAPP 深入理解計算機系統 Lecture 01 Course Overview 中英字幕_嗶哩嗶哩_bilibili 從這個課程中可以學到什么&#xff1f;&#xff08;為什么要學這門課&#xff09; Great Reality #1&#xff08;數字類型&#xff09;: Ints are not Integers, Floats…

idea打jar包

目錄 1、打包設置 2、打包介紹 3、開始打包 1、打包設置 先設置要打包的模塊信息&#xff0c;即打包進去的內容。如下圖所示&#xff1a;File --> Project Structure --> Artifacts&#xff0c;點擊&#xff0b;號完成模塊創建&#xff0c;其中有兩種方式&#xff1a;…

《零基礎實踐深度學習》(第2版)學習筆記,(二)機器學習和深度學習綜述

文章目錄 1. 人工智能、機器學習、深度學習的關系2. 機器學習2.1 實現原理2.2 如何實施 3. 深度學習神經網絡核心概念 1. 人工智能、機器學習、深度學習的關系 **人工智能&#xff08;Artificial Intelligence&#xff0c;AI&#xff09;**是研發用于模擬、延伸和擴展人的智能…

微服務系列(2)--注冊中心

在博文&#xff1a;微服務系列(1)里我們提到過注冊中心的概念&#xff0c;簡單來說微服務注冊中心是一個用于存儲和管理微服務實例信息的組件&#xff0c;它提供了服務注冊、服務發現、服務健康檢查等功能&#xff0c;以確保微服務之間的穩定通信。在微服務架構中&#xff0c;各…

Debian純凈系統安裝php常用擴展和程序

適用于 php-fpm debian容器 mysql擴展 docker-php-ext-install pdo_mysql docker-php-ext-install mysqliredis擴展 pecl install redis docker-php-ext-enable redis# pecl無法裝就&#xff1a; docker-php-source extract # 創建并初始化 /usr/src/php目錄&#xff08;擴展…

應用層協議——TCP(上)

文章目錄 1. TCP協議1.1 TCP協議段格式1.2 確認應答(ACK)機制1.3 16位窗口大小1.4 6位標志位1.4.1 TCP三次握手 1.5 確認應答(ACK)機制1.6 超時重傳機制1.7 連接管理機制1.7.1 理解TIME_WAIT狀態1.7.2 理解 CLOSE_WAIT 狀態 1. TCP協議 TCP全稱為傳輸控制協議&#xff0c;意思…