P2669 金币 [NOIP 2015 普及组]
P2669 金币 [NOIP 2015 普及组]题目题目背景NOIP2015 普及组 T1 题目描述国王将金币作为工资,发放给忠诚的骑士。第一天,骑士收到一枚金币;之后两天(第二天和第三天),每天收到两枚金币;之后三天(第四、五、六天),每天收到三枚金币;之后四天(第七、八、九、十天),每天收到四枚金币……;这种工资发放模式会一直这样延续下去:当连续 $n$ 天每天收到 $n$ 枚金币后,骑士会在之后的连续 $n+1$ 天里,每天收到 $n+1$ 枚金币。 请计算在前 $k$ 天里,骑士一共获得了多少金币。 输入格式一个正整数 $k$,表示发放金币的天数。 输出格式一个正整数,即骑士收到的金币数。 输入输出样例 #1输入 #116 输出 #1114 输入输出样例 #2输入 #211000 输出 #2129820 说明/提示【样例 1 说明】 骑士第一天收到一枚金币;第二天和第三天,每天收到两枚金币;第四、五、六天,每天收到三枚金币。因此一共收到 $1+2+2+3+3+3=14$ 枚金币。 对于 $100%$ 的数据,$1\le k\le...
开灯问题
开灯问题题目题目描述有n盏灯,编号为1~n。第1个人把所有灯打开,第2个人按下所有编号为2的倍数的开关(这些灯将被关掉),第3个人按下所有编号为3的倍数的开关(其中关掉的灯将被打开,开着的灯将被关闭),依此类推。一共有k个人,问最后有哪些灯开着?输入n和k,输出开着的灯的编号。k≤n≤1000。 样例输入:17 3 样例输出:11 5 6 7 解答12345678910111213141516171819202122232425262728293031323334353637383940414243#include<iostream>using namespace std;int main(){ /* 1:开 0:关 */ int n = 0, k = 0; cin >> n >> k; const int MAX = n; int a[MAX]; for (int z = 0; z <= n - 1; z++) { ...
纠错日记
纠错日记这几天忙着配置网站,总结了一下 debug 过程中遇到的问题和排查流程: 检查权限:确保权限设置为 775。 确认 Node.js 版本:确保版本匹配,避免兼容性问题。 清理浏览器缓存:防止缓存导致的页面异常。 检查域名部署:确保域名已正确解析并部署到服务器上。 每一步看似简单,但往往就是这些小细节决定了最终能否顺利运行。
C++入门:浮点数 & 字符型
C++入门:C++入门:浮点数 & 字符型开篇暴击:为什么0.1+0.2≠0.3?为什么’A’和65竟是孪生兄弟?准备好揭开编程世界最狡诈的伪装者真面目了吗?让我们直击浮点数与字符型的灵魂深处! 引言:当计算机遇上连续世界浮点数的奇幻漂流想象用乐高积木拼出圆周率——这就是浮点数的本质!它们用有限精度逼近无限可能,就像用火柴棒拼出蒙娜丽莎的微笑。 1float pi = 3.14159; // 在内存中其实是314159×10⁻⁵的二进制版本 字符的七十二变每个字符都是穿着ASCII外衣的整型间谍: 12char c = 'A'; // 表面是字母int secret = c; // 暴露真身:65 一、浮点数的量子世界1.1 浮点三巨头对比 类型 内存空间 有效数字 典型范围 适用场景 float 4字节 6-7位 ±1.18×10⁻³⁸ ~ ±3.4×10³⁸ 图形坐标 double 8字节 15-16位 ±2.23×10⁻³⁰⁸ ~ ±1.79×10³⁰⁸ 科学计算 long...
C++入门:简单变量 & 整型
C++入门:简单变量 & 整型开篇寄语:为什么你需要这篇指南?最近听到不少同学的抱怨:”C++的数据类型怎么这么难?””变量和整型总是分不清怎么办?” 看着大家被各种int、short、unsigned绕得团团转,我决定用最接地气的方式,把这块硬骨头啃碎了喂给你们。相信我,学完这篇,你会拍着大腿说:”原来数据类型还能这么理解!” 引言:从”变量盒子”到数据存储哲学为什么程序员总在讨论数据类型?就像快递员要知道包裹是易碎品还是普通货物,程序需要明确数据是整数还是字符。C++的变量系统,本质上是一套精密的”内存货架管理系统”——给每个数据贴上类型标签,分配合适大小的存储空间。 1int num = 5; // 给4字节的"货架"贴上"num"标签,存入数字5 一、变量系统全解析(破解初学者三大困惑)1.1 变量的本质:内存空间的命名艺术新手常见误区:”声明变量就是创建数据?”实际上: int num; → 申请4字节内存(32位系统) num = 5; →...
P1011 车站 [NOIP 1998 提高组]
P1011 车站 [NOIP 1998 提高组]题目描述火车从始发站(称为第 1 站)开出,在始发站上车的人数为 a,然后到达第 2 站,在第 2 站有人上、下车,但上、下车的人数相同,因此在第 2 站开出时(即在到达第 3 站之前)车上的人数保持为 a 人。从第 3 站起(包括第 3 站)上、下车的人数有一定规律:上车的人数都是前两站上车人数之和,而下车人数等于上一站上车人数,一直到终点站的前一站(第 n−1 站),都满足此规律。现给出的条件是:共有 n 个车站,始发站上车的人数为 a,最后一站下车的人数是 m(全部下车)。试问 x 站开出时车上的人数是多少? 输入格式输入只有一行四个整数,分别表示始发站上车人数 a,车站数 n,终点站下车人数 m 和所求的站点编号 x。 输出格式输出一行一个整数表示答案:从 x 站开出时车上的人数。 输入输出样例 #1输入 #115 7 32 4 输出113 说明/提示对于全部的测试点,保证 1≤a≤20,1≤x≤n≤20,1≤m≤2×104。 问题分析 + 求解已知信息: 发站上车人数 a 车站数 n 终点站人数...
参赛作品:算法与数据可视化工具集
参赛作品:算法与数据可视化工具集说明1. 累加计算器与可视化程序功能描述: 该程序实现了一个简单的累加计算器,用户可以输入一个最小值和一个最大值,程序会计算从最小值到最大值的累加和并可视化累加过程。程序通过条形图展示每步累加的过程,实时显示累加结果。 主要流程: 用户输入最小值和最大值。 程序判断输入是否有效(最小值小于最大值)。 从最小值到最大值进行累加,并实时更新累加结果。 通过条形图可视化每一步的累加过程,展示当前最小值和当前累加和。 计算完成后,通过弹窗显示最终的累加结果。 使用说明: 在文本框中输入最小值和最大值。 点击“计算并可视化”按钮,程序会计算并显示累加结果。 程序会弹出对话框显示累加结果,并展示累加过程的条形图。 代码注释: entry_min 和 entry_max 是用户输入最小值和最大值的文本框。 plt.bar() 用于绘制条形图,显示累加过程。 messagebox.showinfo() 和 messagebox.showerror() 用于弹窗显示信息。 2....
P1421 小玉买文具
P1421 小玉买文具题目题目描述班主任给小玉一个任务,到文具店里买尽量多的签字笔。已知一只签字笔的价格是 1 元 9 角,而班主任给小玉的钱是 a 元 b 角,小玉想知道,她最多能买多少只签字笔呢。 输入格式输入只有一行两个整数,分别表示 a 和 b。 输出格式输出一行一个整数,表示小玉最多能买多少只签字笔。 输入输出样例输入110 3 输出15 说明/提示数据规模与约定对于全部的测试点,保证 0 ≤ a ≤ 10^4,0 ≤ b ≤ 9。 问题分析无须分析。 解题123456789101112#include <iostream>using namespace std;int main(){ double DanJia = 1.9; int a = 0, b = 0; cin >> a >> b; double GiveMoney = a + 0.1 * b; int GeShu = GiveMoney / DanJia; cout <<...
P5711 【深基3.例3】闰年判断
P5711 【深基3.例3】闰年判断题目题目描述输入一个年份,判断这一年是否是闰年,如果是输出 1,否则输出 0。 1582 年以来,闰年的定义: 普通闰年:公历年份是 4 的倍数,且不是 100 的倍数的,为闰年(如 2004 年、2020 年等就是闰年)。 世纪闰年:公历年份是整百数的,必须是 400 的倍数才是闰年(如 1900 年不是闰年,2000 年是闰年)。 输入格式输入一个正整数 n,表示年份。 输出格式输出一行。如果输入的年份是闰年则输出 1,否则输出 0。 输入输出样例输入输出样例 #1输入 #1 11926 输出 #1 10 输入输出样例 #2输入 #2 11900 输出 #2 10 输入输出样例 #3输入 #3 12000 输出 #3 11 输入输出样例 #4输入 #4 11996 输出 #4 11 说明/提示数据保证,1582 ≤ n ≤ 2020 且年份为自然数。 解题12345678910111213141516171819#include <iostream>using namespace std;int...
T392143 水仙花数
T392143 水仙花数题目描述在自然数中,如果一个三位数等于自身各位数字之立方和,则这个三位数就称为是水仙花数。如:153=1+125+27,所以153是一个水仙花数。求所有的水仙花数。 输入格式无输入 输出格式若干个空格间隔的由小到大表示的整数,每个表示一个水仙花数。 解题是不是很熟悉?这道题就是《算法竞赛入门经典》的习题 2-1,改一个输出就行。 123456789101112131415161718#include<iostream>using namespace std;int main(){ int a,b,c = 0; for (int num = 100; num <= 999; num++) { a = num / 100; b = (num / 10) % 10; c = num % 10; if (num == (a * a * a) + (b * b * b) + (c * c * c)) { ...