DAY12 計蒜客 有趣的數字 爬樓梯 七巧板

結果填空 有趣的數字

我們稱一個數是質數,而且數位中出現了 5 的數字是有趣的。例如 5, 59, 457 都是有趣的,而 15, 7 不是。求 1 到 100000中有趣的數的個數。

藍橋杯模擬賽,本題考察的知識點:質數表,循環。
原題鏈接戳這裏

代碼如下:

#include<iostream>
using namespace std;
bool check(int n) {
	while (n) {
		if (n % 10 == 5) return true;
		n /= 10;
	}
	return false;
}
bool isprime(int n) {
	if (n < 2) return false;
	bool ret = true;
	for (int i = 2; i * i <= n; i++) {
		if (n % i == 0) ret = false;
	}
	return ret;
}
int main() {
	int cnt = 0;
	for (int i = 1; i <= 100000; i++)
		if (check(i) && isprime(i)) cnt++;
	cout << cnt << endl;
	return 0;
}

運行結果是:3282

結果填空 爬樓梯

蒜頭君要爬樓梯。樓梯一共有 10 層臺階。因爲腿長的限制,每次最多能上 4 層臺階。但是第 5,7 層樓梯壞掉了不能踩。求上樓梯的方案數。

講道理,這題我模擬賽時候都不會做,除了通過暴力枚舉得知他是個斐波那契數列之外,毫無思路。後來查了大神的博客。 此爲大神博客鏈接

代碼如下:

int a[117];
int main() {
    a[0] = 1;
    for(int i = 1; i <= 10; i++) {
        if(i == 5 || i == 7) continue;
        if(i - 1 >= 0) a[i] += a[i - 1];
        if(i - 2 >= 0) a[i] += a[i - 2];
        if(i - 3 >= 0) a[i] += a[i - 3];
        if(i - 4 >= 0) a[i] += a[i - 4];
    }
    for(int i = 1; i <= 10; i++) cout << a[i] << endl;
    return 0;
}

結果填空 七巧板

在這裏插入圖片描述
求問在上述圖案的大三角形內部添加五條直線最多可以將大三角形分成多少個區域。

例如上圖一共有 7個區域。

請在下圖的基礎上添加五條直線。

思路:
第一刀一定要考慮切最多的區域,然後每次切出的區域會++1
7+6+7+8+9+10=47
答案:47

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章