【PAT B1087】 有多少不同的值 (20 分)

本文介绍了一个算法问题,当自然数 n 依次取1至N时,计算表达式 ⌊n/2⌋+⌊n/3⌋+⌊n/5⌋ 的不同值的数量。文章提供了一种使用 set 的 C++ 解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1087 有多少不同的值 (20 分)

当自然数 n 依次取 1、2、3、……、N 时,算式 ⌊n/2⌋+⌊n/3⌋+⌊n/5⌋ 有多少个不同的值?(注:⌊x⌋ 为取整函数,表示不超过 x 的最大自然数,即 x 的整数部分。)

输入格式:

输入给出一个正整数 N(2≤N≤10​4​​)。

输出格式:

在一行中输出题面中算式取到的不同值的个数。

输入样例:

2017

输出样例:

1480

 这题用set能做,用map也能做,关键在于只要去重就行。

#include <cstdio>
#include <set>
using namespace std;
int main(){
	int N;
	scanf("%d", &N);
	set<int> s;
	for(int i = 1; i <= N; i++)
		s.insert(i / 2 + i / 3 + i / 5);
	printf("%d", s.size());
	return 0;
} 

 

### PAT甲级考试中不同编程语言题目差异 PAT甲级考试旨在评估考生的编程能力和算法思维,因此无论使用哪种编程语言,核心考察的内容都是相同的——即解决问题的能力和逻辑思考能力。然而,在实际操作过程中,不同的编程语言确实会对解题方式产生一定影响。 #### 编程语言特性的影响 每种编程语言都有独特的语法结构和内置函数库,这会影响编写代码的具体实现方法: - **C/C++** C/C++ 是一种底层控制较强的编程语言,适合处理复杂的数据结构和高效的内存管理。由于其指针机制的存在,可以更灵活地操控数据存储形式。例如,在解决涉及大量字符串操作或动态数组调整的问题时,C/C++ 的效率较高[^1]。 - **Java** Java 提供了丰富的类库支持,简化了许多常见任务的操作流程。比如文件读写、网络通信等功能可以直接调用现成的方法完成。此外,垃圾回收机制使得开发者无需手动释放资源,降低了因内存泄漏引发错误的风险[^2]。 - **Python** Python 以其简洁易懂的语法著称,非常适合快速原型开发以及数据析等领域的工作。它拥有强大的第三方包生态系统,能够轻松集成各种高级功能模块。对于一些需要频繁迭代测试的情况来说,Python 可以显著提高工作效率[^3]。 ```python def check_braille_pattern(matrix, patterns): count = {} for i in range(len(patterns)): found = True for row in range(3): for col in range(2): if matrix[row][col] != patterns[i][row][col]: found = False break if not found: break if found: if str(i) in count.keys(): count[str(i)] += 1 else: count[str(i)] = 1 return count ``` 这段 Python 代码展示了如何在一个给定的大矩阵中查找特定的小型 Braille 图案,并统计它们的数量。这种类型的题目在 PAT 考试中较为典型,适用于多种编程语言来解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值