演算法與資料結構第一次作業

2022-05-24 18:03:09 字數 1092 閱讀 4280

1.5 連續整數和問題

★實驗任務

大部分的正整數可以表示為2 個以上(包含2個)連續正整數之和。例如,6 = 1 + 2 + 3 ,9 = 5 + 4= 2 + 3 + 4 。

現在要求計算給定的正整數表示為若干個連續正整數之和的方案個數。

★資料輸入

輸入資料只有一行,乙個正整數 n(1<=n<=1000)。

★資料輸出

輸出相應的連續整數分解方案的個數。

暴力解法

#includeusing namespace std;

int main()

if (sum == n) cnt++;

} cout << cnt;

}

借鑑網上的方法

#includeusing namespace std;

int main()

for (int i = 0; i < n - 1; i++) }

cout << cnt;

}

1.9 我想靜靜ⅳ

★實驗任務

上回說到,你奔走於各個世界線拯救靜靜。現在,完成任務的你決定玩個簡單的遊戲靜一靜。我們知道,數字在計算機裡是用二進位制儲存的,現在你想知道如果把乙個數字的二進位制倒過來是多少。

比如 int a = 5,用二進位制表示就是00000000000000000000000000000101。把它倒過來就是 10100000000000000000000000000000,對應的十進位制就是 2684354560。

★資料輸入

輸入第一行為乙個數 n,代表一共有 n 個數要處理。0 < n < 10^5

接下去有n 個無符號32 位整數,即 unsigned int

★資料輸出

對於每個數,輸出二進位制逆序後對應的十進位制的值是多少。注意輸出數也是 unsigned int 的。

using namespace std;

int main()

for (int i = 0; i < 32; i++)

cout << sum << endl;

}

第一次作業(3 資料結構)

鍊錶是一種物理儲存單元上非連續 非順序的儲存結構,資料元素的邏輯順序是通過鍊錶中的指標鏈結次序實現的。鍊錶由一系列結點 鍊錶中每乙個元素稱為結點 組成,結點可以在執行時動態生成。每個結點包括兩個部分 乙個是儲存資料元素的資料域,另乙個是儲存下乙個結點位址的指標域。相比於線性表 順序結構,操作複雜。由...

演算法第一次作業

命名 命名,包括檔名 類名 結構名 型別名 函式名 變數名 引數名等都是程式設計中重要的一部分。乙個好的名稱,體現了乙個深思熟慮的過程,同時也 能夠幫助別人更好地理解開發者的思路。如果發現程式中,充滿了a,b,c,x,y,z,tmp這種命名的變數,這時候就需要仔細的考慮自己的實現是否有問題。類 結構...

資料結構第一次實驗

相當於c語言裡的 include include 用cin cout進行輸入輸出時需要用到該標頭檔案 include 用c 裡面現成的排序函式時要用到此標頭檔案 define max 100 using namespace std 用cin cout進行輸入輸出時需要加上此句 typedef str...