C/C++藍橋杯算法真題打卡(Day8)

一、P8780 [藍橋杯 2022 省 B] 刷題統計 - 洛谷

算法代碼:

#include<bits/stdc++.h>  // 包含標準庫中的所有頭文件,方便使用各種數據結構和算法
using namespace std;     // 使用標準命名空間,避免每次調用標準庫函數時都要加 std::int main() {long long a, b, n;   // 定義長整型變量 a, b, n,分別表示工作日每天的題目數量、周末每天的題目數量和目標題目數量cin >> a >> b >> n;  // 從標準輸入讀取 a, b, n 的值long long week = 5 * a + 2 * b; // 計算一周內(5個工作日和2個周末)小明總共能完成的題目數量long long fullWeeks = n / week; // 計算完成目標題目數量 n 需要多少個完整的周long long remaining = n % week; // 計算完成完整周數后,剩余的題目數量long long days = fullWeeks * 7; // 計算完整周數對應的天數(一周7天)if (remaining > 0) { // 如果剩余的題目數量大于0,則需要額外計算完成這些題目所需的天數for (int i = 1; i <= 7; ++i) { // 遍歷一周的7天(周一到周日)if (i <= 5) {              // 如果是周一到周五(前5天)remaining -= a;        // 減去工作日每天完成的題目數量 a} else {                   // 如果是周六或周日(后2天)remaining -= b;        // 減去周末每天完成的題目數量 b}days++;                     // 每過一天,總天數加1if (remaining <= 0) {       // 如果剩余的題目數量小于等于0,說明題目已經完成break;                 // 跳出循環}}}cout << days << endl; // 輸出總天數return 0;             // 程序正常結束
}

代碼邏輯總結:

  1. 輸入處理:讀取小明每天完成的題目數量?a?和?b,以及目標題目數量?n。

  2. 周計算:計算一周內小明能完成的題目總數,并計算需要多少個完整的周才能完成?n題。

  3. 剩余題目處理:計算完成完整周數后剩余的題目數量,并逐天計算完成這些剩余題目所需的天數。

  4. 輸出結果:輸出完成?n?題所需的總天數。

二、P8795 [藍橋杯 2022 國 A] 選素數 - 洛谷?

題解:(還是看大佬的思路代碼吧,我的水平接觸不到國賽,但還是可以學習一下的)

#include<bits/stdc++.h>  // 包含標準庫中的所有頭文件,方便使用各種數據結構和算法
#define ri register int  // 定義宏 ri,表示寄存器變量 int,用于優化性能
#define maxn 1000005     // 定義宏 maxn,表示數組的最大大小為 1000005
#define inf 0xffffff     // 定義宏 inf,表示一個較大的值(0xffffff)
using namespace std;     // 使用標準命名空間,避免每次調用標準庫函數時都要加 std::// 快速讀入函數,用于從標準輸入讀取一個整數
inline int read(){int x=0,f=1;         // x 用于存儲結果,f 用于存儲符號(正負)char ch=getchar();   // 讀取一個字符while(ch<'0'||ch>'9'){ // 如果字符不是數字if(ch=='-')      // 如果是負號f=-1;        // 設置 f 為 -1ch=getchar();   // 繼續讀取下一個字符}while(ch>='0'&&ch<='9'){ // 如果字符是數字x=x*10+ch-48;    // 將字符轉換為數字并累加到 xch=getchar();    // 繼續讀取下一個字符}return x*f;         // 返回結果(考慮符號)
}// 快速輸出函數,用于將一個整數輸出到標準輸出
inline void write(int n){if(n<0){            // 如果 n 是負數putchar('-');   // 輸出負號n=-n;           // 取絕對值}if(n>9)             // 如果 n 是多位數write(n/10);    // 遞歸輸出高位putchar(n%10+'0');  // 輸出最低位
}int n;                  // 定義全局變量 n,表示輸入的上限
int np[maxn];           // 定義數組 np,用于存儲每個數的最小質因數
vector<int>pri;         // 定義向量 pri,用于存儲質數// 初始化函數,用于生成質數并計算每個數的最小質因數
void init(){for(ri i=2;i<=n;i++){ // 遍歷從 2 到 n 的所有數if(!np[i]){      // 如果 i 是質數pri.push_back(i); // 將 i 加入質數向量np[i]=i;     // 設置 i 的最小質因數為 i}for(auto j:pri){ // 遍歷所有質數if(i*j>n)break; // 如果 i*j 超過 n,跳出循環np[i*j]=max(max(np[i*j],j),np[i]); // 更新 i*j 的最小質因數if(!(i%j))break; // 如果 j 是 i 的質因數,跳出循環}}
}// zy 數組,用于存儲某個計算結果
int zy[maxn];// 主函數
signed main(){n=read();           // 讀取輸入的 ninit();             // 調用初始化函數for(ri i=2;i<=n;i++){ // 遍歷從 2 到 n 的所有數if(np[i]^i)     // 如果 i 不是質數zy[i]=i-np[i]+1; // 計算 zy[i] 的值else zy[i]=i;   // 如果 i 是質數,zy[i] 等于 i}int mini=inf;       // 定義變量 mini,用于存儲最小值,初始值為 infif(np[n]==n||!np[n]) // 如果 n 是質數或 np[n] 為 0write(-1);      // 輸出 -1else{for(ri i=n-np[n]+1;i<=n;i++) // 遍歷從 n-np[n]+1 到 n 的所有數if(np[i]!=i)mini=min(mini,zy[i]); // 更新 miniwrite(mini);    // 輸出 mini}return 0;           // 程序正常結束
}

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

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

相關文章

JavaScript 編程:從基礎到高級應用的全面探索

引言 JavaScript 作為一種廣泛應用于 Web 開發的腳本語言&#xff0c;已經成為現代互聯網不可或缺的一部分。它不僅可以為網頁增添交互性和動態效果&#xff0c;還能在服務器端&#xff08;如 Node.js&#xff09;進行后端開發。本文將從 JavaScript 的基礎語法開始&#xff0…

第十三次CCF-CSP認證(含C++源碼)

第十三次CCF-CSP認證 跳一跳滿分題解 碰撞的小球滿分題解遇到的問題 棋局評估滿分題解 跳一跳 題目鏈接 滿分題解 沒什么好說的 基本思路就是如何用代碼翻譯題目所給的一些限制&#xff0c;以及變量應該如何更新&#xff0c;沒像往常一樣給一個n&#xff0c;怎么讀入數據&…

Pytorch使用手冊—自定義函數的雙重反向傳播與自定義函數融合卷積和批歸一化(專題五十二)

1. 使用自定義函數的雙重反向傳播 有時候,在反向計算圖中運行兩次反向傳播是有用的,例如計算高階梯度。然而,支持雙重反向傳播需要對自動求導(autograd)有一定的理解,并且需要小心處理。支持單次反向傳播的函數不一定能夠支持雙重反向傳播。在本教程中,我們將展示如何編…

MySQL:數據庫基礎

數據庫基礎 1.什么是數據庫&#xff1f;2.為什么要學習數據庫&#xff1f;3.主流的數據庫&#xff08;了解&#xff09;4.服務器&#xff0c;數據庫&#xff0c;表之間的關系5.數據的邏輯存儲6.MYSQL架構7.存儲引擎 1.什么是數據庫&#xff1f; 數據庫(Database,簡稱DB)&#x…

Web Component 教程(五):從 Lit-html 到 LitElement,簡化組件開發

前言 在現代前端開發中&#xff0c;Web 組件是一種非常流行的技術&#xff0c;它允許我們創建可重用的、自包含的 UI 元素。而 Lit-html 是一個簡潔高效庫&#xff0c;用于在 Web 組件中進行渲染。在這篇教程中&#xff0c;我們一步步學習如何 Lit-html 來創建 Web Component。…

【C++】二叉樹和堆的鏈式結構(上)

本篇博客給大家帶來的是用C語言來實現堆鏈式結構和二叉樹的實現&#xff01; &#x1f41f;&#x1f41f;文章專欄&#xff1a;數據結構 &#x1f680;&#x1f680;若有問題評論區下討論&#xff0c;我會及時回答 ??歡迎大家點贊、收藏、分享&#xff01; 今日思想&#xff…

Devops之AWS:如何安裝AWS CLI

AWS 命令行界面&#xff08;AWS CLI&#xff09;是一種開源工具&#xff0c;讓我們能夠使用命令行 Shell 中的命令與 AWS 服務進行交互。 安裝步驟&#xff1a; 下載并運行AWS CLI的MSI安裝程序&#xff1a; 點擊如下的鏈接&#xff0c;即可下載MSI安裝程序&#xff1a; htt…

PH2D數據集: 用人類演示數據提升人形機器人操作能力,助力跨實體學習

2025-03-18, 由加州大學圣地亞哥分校, 卡內基梅隆大學, 華盛頓大學, 麻省理工學院等機構聯合收集了PH2D數據集。該數據集包含26824個任務導向的人類演示&#xff0c;采用消費者級VR設備收集&#xff0c;提供了準確的3D手部關鍵點姿態和語言注釋。數據集覆蓋了多種操作任務、不同…

python 數據可視化matplotib庫安裝與使用

要使用 matplotlib 庫進行數據可視化&#xff0c;首先你需要確保已經安裝了該庫。如果你還沒有安裝&#xff0c;可以通過 Python 的包管理器 pip 來安裝它。在你的命令行工具中運行以下命令來安裝 matplotlib&#xff1a; pip install matplotlib安裝完成后&#xff0c;你就可以…

【MySQL基礎-10】MySQL中的LENGTH()函數:用法詳解與實例分析

在MySQL數據庫中&#xff0c;LENGTH()函數是一個非常常用的字符串函數&#xff0c;用于計算字符串的字節長度。理解并掌握LENGTH()函數的用法&#xff0c;對于處理字符串數據、優化查詢以及進行數據驗證都非常有幫助。本文將詳細介紹LENGTH()函數的用法&#xff0c;并通過實例演…

Matlab 基于專家pid控制的時滯系統

1、內容簡介 Matlab 185-基于專家pid控制的時滯系統 可以交流、咨詢、答疑 2、內容說明 略 在處理時滯系統&#xff08;Time Delay Systems&#xff09;時&#xff0c;使用傳統的PID控制可能會面臨挑戰&#xff0c;因為時滯會導致系統的不穩定或性能下降。專家PID控制通過結…

E902基于bash與VCS的仿真環境建立

網上看見很多E902仿真的文章&#xff0c;但用到的編譯器是類似于這種Xuantie-900-gcc-elf-newlib-x86_64-V3.0.1-20241120&#xff0c;而我按照相應的步驟與對應的編譯器&#xff0c;仿真總會報錯。后面將編譯器換成riscv64-elf-x86_64-20210512&#xff0c;反而成功了。現在開…

SpringSecurity配置(自定義認證過濾器)

文末有本篇文章的項目源碼文件可供下載學習 在這個案例中,我們已經實現了自定義登錄URI的操作,登錄成功之后,我們再次訪問后端中的API的時候要在請求頭中攜帶token,此時的token是jwt字符串,我們需要將該jwt字符串進行解析,查看解析后的User對象是否處于登錄狀態.登錄狀態下,將…

《UNIX網絡編程卷1:套接字聯網API》第1章 簡介

《UNIX網絡編程卷1&#xff1a;套接字聯網API》第1章 簡介 1.1 網絡編程的核心價值與挑戰 網絡編程是實現跨設備通信的技術基礎&#xff0c;其核心目標是通過協議棧實現數據的可靠傳輸與高效交換。在嵌入式系統、云計算、物聯網等領域&#xff0c;網絡編程能力直接決定了系統的…

D-Wave專用量子計算機登頂Science 率先展示在真實場景中的量子優勢(內附下載)

內容來源&#xff1a;量子前哨&#xff08;ID&#xff1a;Qforepost&#xff09; 文丨浪味仙 排版丨浪味仙 行業動向&#xff1a;4200字丨16分鐘閱讀 摘要&#xff1a;加拿大專用量子計算機公司 D-Wave 在 Science 期刊發表了論文&#xff0c;題為《Beyond-Classical Compu…

在Ubuntu上安裝MEAN Stack的4個步驟

在Ubuntu上安裝MEAN Stack的4個步驟為&#xff1a;1.安裝MEAN&#xff1b;2.安裝MongoDB&#xff1b;3.安裝NodeJS&#xff0c;Git和NPM&#xff1b;4.安裝剩余的依賴項。 什么是MEAN Stack&#xff1f; 平均堆棧一直在很大程度上升高為基于穩健的基于JavaScript的開發堆棧。…

jmeter將返回的數據寫入csv文件

舉例說明&#xff0c;我需要接口返回體中的exampleid與todoid的數據信息&#xff08;使用邊界提取器先將其提取&#xff09;&#xff0c;并將其寫入csv文件進行保存 使用后置處理器BeanShell 腳本實例如下 import java.io.*;// 設置要寫入的文件路徑 String filePath "…

Linux下Redis哨兵集群模式搭建(1主2從+3哨兵)

Linux下Redis哨兵集群模式搭建&#xff08;1主2從3哨兵&#xff09; 一、Redis哨兵模式搭建 1.安裝包下載 鏈接: https://pan.baidu.com/s/1_n2rCMi5MHX-mVkkyMo4LA 提取碼: gbra 2.新建redis目錄 mkdir -p /app/redis3.解壓到/app/redis目錄下 tar -zxvf redis-6.2.16.ta…

Debian 系統命令集合 |Debian 和 CentOS常見命令的異同

Debian 系統命令集合 Debian 是一個非常流行且穩定的 Linux 發行版&#xff0c;廣泛用于服務器、桌面和工作站環境。 Debian 和 CentOS常見命令 使用方式的對比 注: 部分人&#xff08;比如我&#xff09;先學的centos&#xff0c;其實centos和debian 就記住幾十個有區別命…

20250319在榮品的PRO-RK3566開發板的buildroot系統下使用集成的QT應用調試串口UART3

stty -F /dev/ttyS3 115200 -echo cat /dev/ttyS3 & echo serialdata > /dev/ttyS3 20250319在榮品的PRO-RK3566開發板的buildroot系統下使用集成的QT應用調試串口UART3 2025/3/19 14:17 緣起&#xff1a;在榮品的PRO-RK3566開發板的buildroot系統下&#xff0c;在命令…