随笔分类 - 题解
摘要:思路1 升序排序,最后一项即为最大值,记录 遍历数组,累加所有与记录的最大值不同的元素 代码1 #include <iostream> #include <algorithm> using namespace std; int n, a[101], s, x; int main() { cin >>
阅读全文
摘要:思路 定义 bool 数组 $a,a[i]$ 表示第 $i$ 个灯是否关闭。 从 $1$ 到 $n$ 枚举每个人,对于每个人,枚举倍数。 令人数$×$倍数 $≤ n$,再修改 $a[$ 人数 $×$ 倍数 $]$ 的状态。 代码 #include <iostream> using namespace
阅读全文
摘要:思路 输入每个病人的年龄后,判断属于哪个年龄段,累加每个年龄段的人数。 最后用每个年龄段的人数 ÷ 总人数 × 100 输出即可。 注意 printf 输出一个百分号是printf("%%"); 代码 #include <iostream> #include <cstdio> using names
阅读全文
摘要:思路 因为 $ax+by=c$,所以 $ax=c-by$。 又因为 $by≥0$,所以 $ax≤c$。 同理 $by≤c$,枚举范围内所有 $x,y(0 ≤ ax,by ≤ c)$ 代码 #include <iostream> using namespace std; int a, b, c, an
阅读全文
摘要:思路 有这么一个神奇的函数,叫做 to_string。 它可以把一个整数变成 string。 还有这么一个神奇的函数,叫做 count。 它可以统计 string 里某个字符出现的次数。 把 $[L,R]$ 里的每个数都转成 string,统计 '2' 的个数累加。 代码 #include <ios
阅读全文
摘要:思路 纯模拟,令 $i$ 从 1 到 $n$ 赋值,累加 $x^i$。 注意多项式最后有一个$+1$。 代码 #include <iostream> #include <cstdio> #include <cmath> using namespace std; double s = 1, x;int
阅读全文
摘要:思路 纯模拟,令 $i$ 从 $1$ 到 $n$ 赋值,累加 $\dfrac{1}{i!}$。 注意公式开始时是 $1+...$, 所以 $e$ 的初始值要设成 $1$ 。 要注意浮点数的转换和保留小数。 代码 #include <iostream> #include <cstdio> using
阅读全文
摘要:思路 模拟一下 10 次弹跳的过程。 第一次落地: h 第一次弹跳: h/2 第二次落地: h/2 第二次弹跳: h/4=h/2^2 第三次落地: h/4=h/2^2 第三次弹跳: h/8=h/2^3 ... 第十次落地: h/512=h/2^9 第十次弹跳: h/1024=h/2^10 所以第十次
阅读全文
摘要:思路 结果只取最后三位,而之前的数不会参与幂的计算 所以第三位之前的数肯定和结果无关 可以每乘一次 $a$ 就 $\bmod$ 一次 $1000$,舍弃前面的数。 %03d可以在前面补满 3 位的 $0$。 要注意结果 $s$ 的初始值要设成 $1$ 否则 $0$ 乘以任何数都还是 $0$ 代码 #
阅读全文
摘要:注意:题目中求的是大于 $1$ 的整数 $x$。 思路1 直接从2开始枚举 $x$,直到符合要求为止。 因为保证有解,可以不写循环边界。 代码1 #include <iostream> #include <algorithm> using namespace std; int a, b, c; in
阅读全文
摘要:思路 观察公式,设每一项的分母为 $i$。 $i$ 是奇数时加上 $\frac{1}{i}$ ,$i$ 是偶数时减去 $\frac{1}{i}$。 令 $i$ 从 $1$ 到 $n$ 赋值,就可以得到结果。 代码 #include <iostream> #include <cstdio> using
阅读全文
摘要:观察题面,公式中分子分母都是斐波那契数列。 分母为第 $n+1$ 项,分子为第 $n+2$ 项。 斐波那契数列:每一项=前两项的和。 即 $f[i]=f[i-1]+f[i-2]$,考虑打表。 我们就可以得到总共要打到第 $32$ 项,打表程序: #include <iostream> #includ
阅读全文
摘要:思路 读入药房,人数,循环输入每个人拿的药。 比较当前的人拿的药与药房里剩下的药。 剩下的药比要拿的药多,就可以再拿。 如果剩下的药大于等于要拿的药,就从药房中拿走。 剩下的药比要拿的药少,就拿不了了。 拿不了就要计入答案。 代码 #include <iostream> using namespac
阅读全文
摘要:思路 把每个人的时间拆成几部分,设共有t人 上、下船: $1t+0.5t=1.5t$ 大本营、屋顶之间的来回:如图,$x,y$ 为屋顶坐标 根据勾股定理可知:$x^2+y^2=n^2$ 所以$n=\sqrt{x^2+y^2}$,时间为路程÷速度,$\sqrt{x^2+y^2}/50$,注意要跑两遍
阅读全文
摘要:思路 输入数据时,判断是否第一组。 用第一组计算鸡尾酒疗法的有效率。 其他数据是新疗法有效率。 按题目要求比较两个有效率,输出新疗法的效果。 代码 #include <iostream> using namespace std; double n, a, b, x, y; //x为鸡尾酒疗法有效率,
阅读全文
摘要:思路 这题无非就是几个需要注意的点。 判别式: $Δ=b^2-4ac$。 当 $Δ>0$ 时,方程有两个不相等的实数根; 当 $Δ=0$ 时,方程有两个相等的实数根; 当 $Δ<0$ 时,方程无实数根。 不同解根小者在前。 输入数据后,先计算 $Δ$ 的值,判断 $Δ$ 与 $0$ 的关系。 根据
阅读全文

浙公网安备 33010602011771号