結果填空 有趣的數字
我們稱一個數是質數,而且數位中出現了 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