文章目录
- 💥前言
- 😉解题报告
- 💥数列求值
- 🤔一、思路:
- 😎二、代码:
- 💥质数
- 🤔一、思路:
- 😎二、代码:
- 💥饮料换购
- 🤔一、思路:
- 😎二、代码:
💥前言
刷刷刷
😉解题报告
💥数列求值
biu~
☘️ 题目描述☘️
🤔一、思路:
(1)是取20190324项的最后4位数字,由于到这个位置的数字都过大,直接取每次相加值后四位数字即可,不影响计算
(2)每项都取前三项的和模拟即可
😎二、代码:
#include <iostream>
using namespace std;
int main()
{
long long a = 1, b = 1, c = 1, d = 0;
for (int i = 4; i <= 20190324; i++) {
d = (a + b + c) % 10000;
a = b;
b = c;
c = d;
}
printf("%d", d);
return 0;
}
💥质数
biu~
☘️ 题目描述☘️
🤔一、思路:
(1)计算第2019个质数是多少,直接进行质数判断,并且若符合质数的判断,则进行计数,计数至第2019个质数即可进;
知识点
:质数,只可以整除
1
1
1和
本身
本身
本身的数
😎二、代码:
#include <iostream>
using namespace std;
int main()
{
int num = 1, cnt = 0, ret;
while (cnt != 2019) {
num++;
int t = num;
int flag = 0;
for (int i = 2; i < num; i++) {
if (num % i == 0) {
flag = 1;
break;
}
}
if (flag == 0) {
ret = num;
cnt++;
}
}
printf("%d", ret);
return 0;
}
💥饮料换购
biu~
☘️ 题目描述☘️
🤔一、思路:
(1)每三个盖子可以换一瓶饮料,模拟
(2)
当前总喝过的饮料数
=
过去总共喝的饮料数
+
当前兑换的饮料数
当前总喝过的饮料数 = 过去总共喝的饮料数 + 当前兑换的饮料数
当前总喝过的饮料数=过去总共喝的饮料数+当前兑换的饮料数,
当前剩余的盖子数
=
当前兑换的饮料数
+
兑换不了的饮料之后剩余的盖子数(
1
o
r
2
)
当前剩余的盖子数 = 当前兑换的饮料数 + 兑换不了的饮料之后剩余的盖子数 (1 or 2)
当前剩余的盖子数=当前兑换的饮料数+兑换不了的饮料之后剩余的盖子数(1or2);
(3)
当前兑换的饮料数
=
上次剩余的盖子数
/
3
当前兑换的饮料数 = 上次剩余的盖子数 / 3
当前兑换的饮料数=上次剩余的盖子数/3,
兑换不了的饮料数
=
上次剩余的盖子数
m
o
d
3
兑换不了的饮料数 = 上次剩余的盖子数 mod3
兑换不了的饮料数=上次剩余的盖子数mod3
😎二、代码:
#include <iostream>
using namespace std;
int main()
{
int n, sum = 0, exchange, remain, con;
cin >> n;
sum = n;
while (n / 3 != 0) {
exchange = n / 3;
remain = n % 3;
n = exchange + remain;
sum += exchange;
}
printf("%d", sum);
return 0;
}