院校机试刷题第二天:1479 01字符串、1701非素数个数

news2025/5/17 0:23:56

一、1479 01字符串

1.题目描述

2.解题思路

方法一:暴力法

模拟过程,列出几个数据来a[1]=1, a[2]=2, a[3]=3, a[4]=5以此类推,这就是斐波那契数列,每一项都等于前两项之和,确定好a[1], a[2]即可。

方法二:动态规划法

首先,我们考虑基本情况:

  • 当 n=1 时,只有一个0,无法进行压缩,所以 f(1)=1。

  • 当 n=2 时,可以压缩成1,或者保持00,所以 f(2)=2。

对于 n≥3,我们可以考虑两种情况:

  1. 第一个0不与第二个0压缩,那么剩下的 n−1 个0可以有 f(n−1) 种组合。

  2. 第一个0与第二个0压缩成1,那么剩下的 n−2 个0可以有 f(n−2) 种组合。

因此,我们可以得到递推关系: f(n)=f(n−1)+f(n−2)

3.代码

#include <iostream>
using namespace std;

int main() {
    int n;
    cin >> n;
    int a[10005];
    a[1] = 1;
    a[2] = 2;
    for(int i = 3; i <= n; i++) {
        a[i] = (a[i - 1] + a[i - 2]) % 2333333;
    }

    cout << a[n];

    return 0;
}

二、1701非素数个数

1.题目描述

2.解题思路

模拟题,没有涉及到任何算法,关键在于如何判断素数。

要判断一个数 n 是否为素数,可以尝试用从2到 根号n​ 的所有整数去除 n。如果 n 能被这些数中的任何一个整除,那么 n 就不是素数;否则, n 是素数。

常见的素数判断函数isPrime

bool isPrime(int n) {
    // 小于2的数不是素数
    if (n < 2) {
        return false;
    }
    
    // 检查从2到sqrt(n)的整数是否能整除n
    for (int i = 2; i <= sqrt(n); i++) {
        if (n % i == 0) {
            return false; // 如果能整除,n不是素数
        }
    }
    
    return true; // 如果不能被任何数整除,n是素数
}

这里将1看作非素数,有的题目中1是素数,看不同题目的定义。

3.代码

直接版

#include <iostream>
using namespace std;

bool isPrime(int a) {
    if(a == 1) {
        return true;
    }
    for(int j = 2; j * j <= a; j++) {
        if(a % j == 0) return false;
    }
    return true;
}

int number(int a, int b) {
    int result = 0;
    for(int i = a; i <= b; i++) {
        if(!isPrime(i)) result++;
    }
    return result;
}

int main() {
    int a, b;
    while(cin >> a >> b) {
        int count1 = number(a, b);
        cout << count1 << endl;
    }
    return 0;
}

省时间版:有的题目有时间限制,用上面的代码会超时。

本质和上面是相同的,但是这里用一个数组存起来该数字是否是素数,避免之后重复求,省时间

#include <iostream>
using namespace std;

int A[10000005];

bool isPrime(int a) {
    if(a == 1) {
        return true;
    }
    for(int j = 2; j * j <= a; j++) {
        if(a % j == 0) return false;
    }
    return true;
}

void getA(){
    for(int i = 0; i <= 10000005; i++) {
        if(isPrime(i)){
            A[i] = 1; // 是素数标记为1
        }
        else {
            A[i] = 0;
        }
    }
}

int number(int a, int b) {
    int result = 0;
    for(int i = a; i <= b; i++) {
        if(A[i] == 0) result++;
    }
    return result;
}

int main() {
    getA();

    int a, b;
    while(cin >> a >> b) {
        int count1 = number(a, b);
        cout << count1 << endl;
    }
    return 0;
}

OS:N诺的编译器真的不行,看数据要钱,提交总是过不了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2376215.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

制作一款打飞机游戏48:敌人转向

射击功能 有一个重要的功能我们还没实现&#xff0c;那就是射击。目前&#xff0c;敌人还不能射击&#xff0c;这显然是不行的。因此&#xff0c;我们决定添加一个射击命令&#xff0c;暂时用一个显示圆圈的方式来表示射击动作。 编程语言的调试 有趣的是&#xff0c;我们创…

RK3588 串行解串板,支持8路GMSL相机

RK3588 支持的 GMSL 相机接入数量取决于所使用的解串板型号及配置方案&#xff1a; ‌xcDeserializer3.0 解串板‌ 可接入最多 ‌8 路 2M GMSL2 相机‌1。 ‌xcDeserializer4.0 解串板‌ 支持 ‌4 路 2M GMSL2 相机‌1。 ‌边缘计算盒解决方案‌ 部分商用方案可实现 ‌4 或 8…

OracleLinux7.9-ssh问题

有套rac环境&#xff0c;db1主机无法ssh db1和db1-priv&#xff0c;可以ssh登录 db2和db2-priv [rootdb1 ~]# ssh db1 ^C [rootdb1 ~]# ssh db2 Last login: Wed May 14 18:25:19 2025 from db2 [rootdb2 ~]# ssh db2 Last login: Wed May 14 18:25:35 2025 from db1 [rootdb2…

手机换IP真的有用吗?可以干什么?

在当今数字化时代&#xff0c;网络安全和个人隐私保护日益受到重视。手机作为我们日常生活中不可或缺的工具&#xff0c;其网络活动痕迹往往通过IP地址被记录和追踪。那么&#xff0c;手机换IP真的有用吗&#xff1f;它能为我们带来哪些实际好处&#xff1f;本文将为你一一解答…

如何实现一个运动会计分系统?(C语言版)

一、需求分析 设计一个运动会计分系统,计分信息包括参加学校,参与项目,性别,名次个数,各个学校获得名次信息。该系统具有以下功能 数据录入: 链表或结构体数组组织数据数据报表: 依照规定的报表格式对数据打印报表数据排序: 按照要求对数据进行统计,含简单统计及综合统计…

嵌入式学习笔记 - STM32 ADC,多重转换,内部参考电压,过采样,逐次逼近原理,采样时间

一 多个ADC器件&#xff0c;多重转换速率 每个型号MCU通常由多个ADC器件&#xff0c;比如STM32F4有三个ADC器件&#xff0c;每个ADC器件有一个最大转换速率&#xff0c;一般为2.4Mhz&#xff0c;即一个ADC器件每秒最多转换2.4M次&#xff0c;两次转换之间需要有时间间隔&#…

团结引擎 1.5.0 发布,抖音小游戏平台即将开放、Shader Graph功能新增…引擎能力再提升!

「团结引擎 1.5.0」来啦&#xff01;本次技术更新的内容&#xff0c;涵盖了小游戏、团结引擎车机版、OpenHarmony、Shader Graph、Muse Chat、Hub&License、代码升级、Digital Asset Manager for Tuanjie、团结官方开源车模 Sample 几大方向。 小游戏 在 Tuanjie 1.5.0 版…

如何配置activemq,支持使用wss协议连接。

1、到阿里云申请一个证书&#xff0c;通过后下载jks证书。 2、配置activemq&#xff1a; 打开activemq安装目录中“conf/activemq.xml”&#xff0c;增加以下记录&#xff1a; <transportConnectors> <transportConnector name"wss" uri"…

初学c语言14(指针6)

一.sizeof和strlen的对比 1.sizeof 操作符&#xff0c;计算变量所占空间大小 2.strlen 库函数&#xff0c;函数原型为&#xff1a; 求的是字符串的长度&#xff0c;统计的是“\0”之前的字符个数 二.指针和笔试题解析 补充&#xff1a;数组名的意义 1.sizeof(数组名) 这…

数字化转型-4A架构之技术架构

4A架构系列文章 数字化转型-4A架构&#xff08;业务架构、应用架构、数据架构、技术架构&#xff09; 数字化转型-4A架构之业务架构 数字化转型-4A架构之应用架构 数字化转型-4A架构之数据架构 数字化转型-4A架构之技术架构 一、 技术架构 Technology Architecture 1. 技…

kaggle薅羊毛

参考&#xff1a;https://pytorch-tutorial.readthedocs.io/en/latest/tutorial/chapter05_application/5_1_kaggle/#512-kaggle https://github.com/girls-in-ai/Girls-In-AI/blob/master/machine_learning_diary/data_analysis/kaggle_intro.md 1&#xff0c;code training…

TCP 三次握手建立连接详解

文章目录 一、三次握手流程1、第一次握手2、第二次握手3、第三次握手 二、引申问题1、报文丢失&#xff0c;会发生什么&#xff1f;1.1、第一次握手丢失1.2、第二次握手丢失1.3、第三次握手丢失 2、为什么 ISN(Initial Sequence Number&#xff0c;初始序列号) 不固定3、为什么…

高海拔和远距离的人员识别:面部、体型和步态的融合

大家读完就觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 摘要 我们解决了在无约束环境中进行全身人体识别的问题。这个问题出现在诸如IARPA高空和远距离生物识别与身份识别&#xff08;BRIAR&#xff09;计划等监视场景中&#xff0c;其中生物识别数据是在长…

自然语言处理入门级项目——文本分类

文章目录 前言1.数据预处理1.1数据集介绍1.2数据集抽取1.3划分数据集1.4数据清洗1.5数据保存 2.样本的向量化表征2.1词汇表2.2向量化2.3自定义数据集2.4备注 结语 前言 本篇博客主要介绍自然语言处理领域中一个项目案例——文本分类&#xff0c;具体而言就是判断评价属于积极还…

一发入魂:极简解决 SwiftUI 复杂视图未能正确刷新的问题(上)

概述 各位似秃非秃小码农们都知道&#xff0c;在 SwiftUI 中视图是状态的函数&#xff0c;这意味着状态的改变会导致界面被刷新。 但是&#xff0c;对于有些复杂布局的 SwiftUI 视图来说&#xff0c;它们的界面并不能直接映射到对应的状态上去。这就会造成一个问题&#xff1…

软件设计师-下午题-试题4(15分)

目录 1 回溯法 1.1 N皇后问题 1.1.1 非递归求解N皇后问题 1.1.2 递归求解N皇后问题 1.2 真题 2 分治法 2.1 真题 3 动态规划法 3.1 0-1背包问题 3.2 真题 1 回溯法 1.1 N皇后问题 上图Q4与Q2在同一列且与Q1在同一斜线&#xff0c;先回溯到上一个皇后改变Q3皇后的位置…

leetcode二叉树相关题目复习(C语言版)

目录 1.单值二叉树 2.相同的树 3.对称二叉树 4.二叉树的前序遍历 5.另一颗树的子树 1.单值二叉树 思路1&#xff1a; 判断根节点、左节点与右节点的值是否相等&#xff0c;因为正向判断&#xff08;即判断三值相等返回true&#xff09;比较麻烦&#xff08;不能根节点满足…

第十九次博客打卡

今天学习的内容是Java中的常见循环。 在 Java 中&#xff0c;常见的循环结构主要有以下几种&#xff1a;for 循环、while 循环、do-while 循环以及增强型 for 循环&#xff08;也称为 for-each 循环&#xff09;。 1. for 循环 for 循环是一种非常灵活的循环结构&#xff0c…

浅聊一下数据库的索引优化

背景 这里的索引说的是关系数据库&#xff08;MSSQL&#xff09;中的索引。 本篇不是纯技术性的内容&#xff0c;只是聊一次性能调优的经历&#xff0c;包含到一些粗浅的实现和验证手段&#xff0c;所以&#xff0c;大神忽略即可。 额…对了&#xff0c;笔者对数据库的优化手段…

山东大学软件学院软件工程计算机图形学复习笔记(2025)

写在前面&#xff1a; 现在是考完试的第二天&#xff0c;考试的内容还是有一部分没有复习到的…… 根据三角形的3个顶点坐标和内部某点坐标D&#xff0c;写出点D的基于面积的权重坐标Bresenham的算法描述与改进策略&#xff08;这里ppt上很不清晰&#xff09;以及直线反走样的…