藍橋杯訓練第一天

2021-10-02 05:51:02 字數 991 閱讀 7335

例題1

輸入乙個三位數,分離出它的百位、十位和個位,反轉後輸出。

樣例輸入:

127樣例輸出:

721

分析:首先將三位數讀入變數n裡,然後進行分離。

百位:n/100

十位:n/10%10

個位:n%10

解法:

#include

int main()

以上是一道簡單的三位數交換位置的題,由此延伸變數交換的三種方法

例題2

輸入兩個整數變數a和b,交換二者的值,然後輸出。

樣例輸入

824 16

樣例輸出

16 824

解法一:三變數法

#include

#include

int main()

這種方法簡單的理解就是三個杯子,分別為水,可樂,空。之後通過空杯將水與可樂互換。

解法二:兩變數法

#include

int main()

舉個例子說明,這種方法是將水和可樂混合,然後過濾分解到不同的杯子裡。

注意!兩變數法看起來很好,實際很少用,因為它的適用範圍很窄,只有定義了加減法的資料型別才能採用此方法。

三變數法已經很簡單,適用範圍廣,推薦使用。

你以為三變數法是解決本題最簡單的途徑嗎?恭喜你回答錯了。

多數的演算法競賽採用黑盒測試,即只考察程式解決問題的能力,而不關心採用了什麼方法。對於本題最佳程式如下

#include

int main()

請記住我們的目標是解決問題,而不是為了寫程式而寫程式,不需要自己創造條件去展示程式設計技巧。

----2020.1.16

----藍橋杯訓練

藍橋杯刷題()第一天

include using namespace std intmain cout 法二 將0000000000 1移動32次,32正好是乙個int表示的大小 列舉32位所有可能,每次列舉的時候,除了該位是1其他位置都是0,所以每次判斷是否 後和生成的這個數一樣 include using names...

mysql 第一天 MySQL 系列第一天

mysql 系列第一天這篇文章是黑馬程式設計師 mysql 教程的筆記,好好學習哦。和 mysql 資料庫的互動 客戶端單向連線認證 連線伺服器,認證身份。mysql 資料庫屬於 c s 架構,所以開啟伺服器程式後,需要通過客戶端連線它。mysql 會自帶乙個客戶端程式,可以直接輸入賬號和密碼即可連...

寒假第一天1 12訓練小結

今天狀態還不錯,得分還可以 100 10 50 第二題題目沒有加 spj,雖然我打了正解,但還是 a不了。problem1 100 這題注意到樣例解釋中有一句話 顯然只有3的倍數才是好的。這句話看似沒什麼稀奇的,實則給我們重大的解題思路。好的數的分布毫無規律,為什麼一定只有 3的倍數才是好的?仔細想...