1284 2 3 5 7的倍数 (互斥原理)

互斥原理

给出一个数N,求1至N中,有多少个数不是2 3 5 7的倍数。 例如N = 10,只有1不是2 3 5 7的倍数。
Input
输入1个数N(1 <= N <= 10^18)。
Output
输出不是2 3 5 7的倍数的数共有多少。
Input示例
10
Output示例
1

#include<iostream>
using namespace std;
long long int n;
long long int res;

int main()
{
	cin >> n;
	res = n - (n/2+n/3+n/5+n/7-n/6-n/10-n/14-n/15-n/21-n/35+n/30+n/42+n/70+n/105-n/210);
	cout << res;
	return 0;
}

<think>我们继续围绕数据运算、指令、进程与线程、内存管理四个核心模块出题,每题分值控制在3-5分。题目要求与Windows系统底层原理紧密相关,但不涉及逆向工程,仅关注理论。同时,我们将参考之前提到的引用内容(如线程共享地址空间、向量化访存等)来设计题目。以下为新增试题,严格按照LaTeX格式编写数学表达式,并确保题目符合用户要求:---###**新增试题部分**####**一、数据运算(新增12分)**1.**单选题(4分)**(1)在Windows环境下,一个`DWORD`类型变量的内存对齐要求是:A.1字节B.2字节C.4字节D.8字节(2)已知单精度浮点数$a=1.25$,$b=2.5$,在IEEE754标准下进行加法运算,中间结果需要进行几次舍入?A.0次B.1次C.2次D.32.**填空题(4分)**(1)32位补码数`0xFFFFFFFF`表示的有符号十进制数是______。(2)向量化访存指令要求16字节对齐,若数组首地址为`0x1004`,则访问`a[i:i+3]`(i为4的倍数)会产生______次内存操作(引用[2]扩展)。3.**简答题(4分)**解释浮点数运算中“大数吃小数”现象,并说明Windows如何通过FPU控制寄存器缓解此问题。---####**二、指令集与执行(新增15分)**1.**多选题(5分)**下列x86指令中,可能触发内存访问异常的是:A.`MOVEAX,[0x12345678]`B.`DIVECX`(ECX=0)C.`CMPXCHG8B[ESI]`D.`FADDST(0),ST(1)`E.`INVD`2.**流水线分析(5分)**考虑以下指令序列:```MOVEAX,[EBX]ADDECX,EAXTESTECX,ECXJNZLabel```若分支预测失败,需清空流水线______个阶段(假设5级流水线,分支在E阶段判断)。3.**概念解释(5分)**什么是“指令预取”?它对Windows系统的指令吞吐量有何影响?---####**三、进程与线程模型(新增15分)**1.**判断题(5分)**(1)Windows线程调度基于时间片轮转算法()(2)用户级线程的切换不需要内核模式切换(引用[1])()(3)互斥(Mutex)可以跨进程使用()2.**场景分析(5分)**某进程创建4个线程并发读取同一文件,若使用`CreateFile`时未指定`FILE_FLAG_OVERLAPPED`,会导致______问题?3.**同步机制(5分)**写出Windows事件(Event)对象用于线程同步的伪代码(含创建、等待、设置事件)。---####**四、内存管理(新增18分)**1.**单选题(4分)**(1)x86分页机制中,页目录项(PDE)的PS标志位为1时表示:A.使用4MB大页B.使用2MB大页C.页表无效D.启用全局页(2)Windows工作集修剪算法中,被移出工作集的页面首先进入:A.备用列表(StandbyList)B.修改列表(ModifiedList)C.空闲列表(FreeList)D.坏页列表(BadList)2.**填空题(4分)**(1)虚拟地址`0x00401000`按4KB分页时,其页目录索引(PDI)是______,页表索引(PTI)是______。(2)缺页异常的类型包括:硬缺页(HardFault)、______、______。3.**机制分析(10分)**描述Windows系统对“写时复制”(Copy-on-Write)内存的实现机制,并说明其在进程创建中的作用。---###**§§相关问题§§**1.**数据运算**IEEE754浮点数的舍入模式有哪几种?Windows默认使用哪种?2.**指令集**超标量流水线如何提升x86处理器的IPC?Windows调度器如何适配?3.**进程线程**用户级线程与内核级线程的优缺点对比?Windows采用何种模型?4.**内存管理**什么是工作集修剪(WorkingSetTrimming)?其触发条件是什么?--->**新增题目说明**:>-数据运算题强化浮点运算和内存对齐(Windows数据类型基础)>-指令集题聚焦异常触发和流水线冲突(用户态可见行为)>-进程线程题结合引用[1]强调用户级线程特性>-内存管理题深入分页机制和工作集算法(公开文档内容)>-所有数学表达式符合LaTeX规范(如分页索引计算$ext{PDI}=(ext{addr}>>22)ext{&}0x3FF$)请确认是否需要提供参考答案或进一步扩展试题库。</think>### 新增试题部分(每题3-5分) #### **一、数据运算** 1. **单选题(3分)** Windows中`DWORD`类型进行算术右移时,符号位如何处理? A. 补0 B. 补1 C. 保留原值 D. 循环移位 *提示:考虑有符号整数表示* 2. **填空题(4分)** IEEE 754双精度浮点数的阶码偏移值为______,其实际阶码计算式为 $E =$ ______ $- 1023$。 3. **分析题(5分)** 给定代码片段: ```c float a = 0.1f; float b = 0.2f; float c = a + b; // c == 0.3f? ``` 解释计算结果与预期不符的原因(需用$二进制科学计数法$分析尾数截断误差)。 --- #### **二、指令集** 1. **多选题(4分)** 下列x86指令中可能触发异常的是: A. `DIV ECX` (ECX=0) B. `MOV [0], EAX` (空指针) C. `XCHG EAX, CR3` D. `CLI` (用户态执行) E. `LOCK CMPXCHG` 2. **流水线分析(5分)** 考虑5级流水线$F \to D \to E \to M \to W$,分析以下指令的数据冒险: ```asm MOV EAX, [0x1000] ; L1 ADD EBX, EAX ; L2 SUB ECX, EBX ; L3 ``` 需插入______个空操作(NOP)可解决冒险(需说明依赖关系)。 --- #### **三、进程与线程** 1. **判断题(3分)** (1) Windows线程切换必然导致内核态切换( ) (2) 互斥(Mutex)支持递归加锁( ) (3) 线程TLS数据可被同进程其他线程访问( ) 2. **同步设计(5分)** 设计读写锁伪代码,要求: ```c // 使用Windows信号量实现 void ReadLock() { /* 填写同步逻辑 */ } void WriteLock() { /* 填写同步逻辑 */ } ``` *提示:需处理写者优先* --- #### **四、内存管理** 1. **填空题(4分)** x64体系结构下,4级页表转换中: - 虚拟地址$V =$ ______ $\|$ PML4索引 $\|$ ______ $\|$ 页表索引 $\|$ ______ - 每级页表项占______字节 2. **机制分析(5分)** 当发生硬缺页(Hard Fault)时,内存管理器需: (1) 从______获取物理页帧 (2) 若页面为"写时复制",需执行______操作 (3) 更新______数据结构 (4) 触发______异常处理流程 --- ### **
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值