1013 求數根
題意:各個位數相加,求得的結果再各位數相加,直到取得個位數
解析:1 、要用字串的形式輸入,防止大數 2、 迴圈求%10,在求和
#include
#include
using namespace std;
int main()
do
n=sum;
}while(n>9);
cout<}
return 0;
} 1013 求兩個數的最大公約數
解析:使用輾轉相除法寫出求最大公約數函式
#include
int select(int ,int);
main()
else
} int select(int x,int y)
else
} 1015 列舉法
題意:輸入乙個字串和乙個數,字串都是大寫字母abc..z a代表1.. 找出滿足的題意函式關係的字元組合,使其等於那個數
解析:使用dfs列舉所有排列組合
#include
#include
#include
using namespace std;
int main()
sort(tag, tag + length); //排序
for(i = 0; i < length; i++) //列舉
for(j = 0; j < length; j++)
if(j != i)
for(k = 0; k < length; k++)
if(k != j && k != i)
for(l = 0; l < length; l++)
if(l != k && l != j && l != i)
for(m = 0; m < length; m++)
} if(flag)
cout << "no solution" << endl;
else
cout << ans << endl;
} return 0;
} 1016 素數環
題意:給出乙個小於20的數,將1到這個數所有的數排成乙個環,要求相臨數和都是素數
解析:設定乙個素數表,判斷相鄰數和是否在素數表中。dfs遍歷所有情況,並輸出。
#include
using namespace std;
int prime[40]=;//因為數字規模比較小,因此手動打素數表
int n;
bool visit[25];
int a[25];
void dfs(int num)
cout<}
else //否則尋找滿足條件的數字
} } }
} int main()
return 0;
}
30天程式設計練習(三)
1009 貓鼠交換 解析 一道典型的貪心演算法的題,類似於揹包問題,先按單價從小到大排序,再從最便宜的開始買,每次都買的盡可能多。include include using namespace std struct greedheart bool compare greedheart room1,g...
30天程式設計練習(十)
1040 排序 題意 給你一些整數,你的任務是對這些數字進行排序。解析 快速排序 include include include include include using namespace std void main cout arr 0 for int i 1 i 1041 函式題 題意 初始...
30天程式設計練習(十一)
1044 迷宮問題 題意 你,冒險家,在乙個危險的地牢裡。你被告知地牢要倒塌了。你必須在規定的時間內找到出口樓梯。但是,你不想空手離開地牢。地牢裡有很多稀有的珠寶。在你離開之前試著收集一些。有些珠寶便宜,有些貴。所以你會盡最大努力最大化你的收藏,更重要的是,及時離開地牢。解析 bfs構建乙個珠寶和珠...