[PAT乙级]自测2

python 1014 福尔摩斯的约会 (20 分) 大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间星期四 14:04,因为前面两字符串中第 1 对相同的大写英文字母(大小写有区分)是第 4 个字母 D,代表星期四;第 2 对相同的字符是 E ,那是第 5 个英文字母,代... 阅读详情

[PAT乙级]自测2

自测题3 1014.因子个数
题目描述
一个正整数可以分解成一个或多个数组的积。例如36=2*2*3*3,即包含2和3两个因子。NowCoder最近在研究因子个数的分布规律,现在给出一系列正整数,他希望你开发一个程序输出每个正整数的因子个数。

输入描述:
输入包括多组数据。
每组数据仅有一个整数n (2≤n≤100000)。

输出描述:
对应每个整数,输出其因子个数,每个结果占一行。

输入例子:

30
26
20

输出例子:

3
2
2

思路:

  • 这道题我用的递归,可能受前两道题影响,用了备忘录方法,结果超时,可能是因为列出素数数组的时候用时间太长了
  • 后来在讨论区看了两个觉得比较好的代码,一个是递归,另一个是循环嵌套

代码1: 递归 73ms

链接:https://www.nowcoder.com/questionTerminal/e8fb8f89f5d147ec92fd8ecfefe89b0d
来源:牛客网

#include <iostream>
#include <stdio.h>

using namespace std;

int cnt;

bool isPrime(int n)
{
    if(n<2) return false;
    if(n == 2) return true;
    if(n%2 == 0) return false;
    for(int i=3; i*i <= n; i+=2) {
        if(n%i == 0) return false;
    }
    return true;
}

void countFactors(int n, int start)
{
    if(isPrime(n)) {
        cnt++; return;
    } else {
        for(int i=start; i<n; i++) {
            if(0 == n%i) {
                cnt++;
                while(0 == n%i) {
                    n /= i;
                }
                countFactors(n, i+1);
                return;
            }
        }
    }
}

int main()
{
    int n;
    while(~scanf("%d", &n)) {
        cnt = 0;
        countFactors(n, 2);
        printf("%d\n", cnt);
    }
    return 0;
}

代码2: 循环嵌套 112ms

链接:https://www.nowcoder.com/questionTerminal/e8fb8f89f5d147ec92fd8ecfefe89b0d
来源:牛客网

#include<stdio.h>
#include<math.h>
int main()
{
    int n;
    while(scanf("%d",&n)!=EOF)
    {
        int i,sum=0;
        for(i=2;i<=sqrt(n);i++)
        {
                if(n%i==0)
                {
                    sum++;
                    n /= i;
                }
                while(n%i==0)
                {
                    n/=i;
                }           
        }
        if(n != 1 )             //n为质数的情况 
            sum++;
        printf("%d\n",sum);
    }   
    return 0;
}

代码3: 递归 超时超时超时!!!!!!!!

#include <iostream>
#include <vector>
#include <cstdio>
using namespace std;
vector<int> arr;//100000以内素数数组
bool isSushu(int n){
    for(int i=2; i*i<=n; i++){
        if(n%i == 0){
            return false;
        }
    }
    return true;
}
int help(vector<int> &Yinzi, vector<int> res, int n){
    if(Yinzi[n] != 0)
        return Yinzi[n];
    int temp = n;
    bool flag = true;
    while(temp != 1){
        for(int i=0; i<arr.size(); i++){
            if(temp%arr[i] == 0){
                temp /= arr[i];
                if(Yinzi[temp] != 0){
                    if(res[arr[i]] != 0){
                        Yinzi[n] = Yinzi[temp];
                    }else{
                        Yinzi[n] = Yinzi[temp] + 1;
                    }
                    flag = false;
                    break;
                }
                res[arr[i]]++;
                break;
            }
        }
        if(!flag)
            break;
    }
    int countt  = 0;
    for(int i=0; i<=n; i++){
        if(res[i] != 0)
            countt++;
    }
    return Yinzi[n] = countt;
}

int main()
{
    vector<int> Yinzi(100001);//备忘录 存储各个整数的因子个数
    vector<int> res(100001);//存储因子个数
    int n;
    while(~scanf("%d", &n)){
        for(int i=2; i<=n; i++){
            if(isSushu(i))
                arr.push_back(i);
        }
        printf("%d\n", help(Yinzi, res, n));
    }
    return 0;
}
【Bug已解决】codex file edit fails / Write operation denied — CodeX CLI 文件编辑失败解决方案 CodeX CLI 编辑文件时报写入被拒绝,本质是沙箱限制或权限不足。文中给出配置允许目录、修复权限、Git stash 管理冲突等完整方案。 阅读详情

相关推荐

DeepSeek+知网研学:三步搞定文献矩阵与对比分析(实战指南)

本文提供了一套高效实用的文献管理分析实战指南,详细介绍了如何结合DeepSeek大模型与知网研学平台,通过三个核心步骤快速完成文献梳理。该方法能自动提炼文献核心要素、生成结构化对比矩阵,并辅助发现研究空白,显著提升学术研究者的文献分析效率与深度。

weixin_29061509的博客 491

【牛客刷题】因子个数。一个正整数可以分解成一个或多个数组的积。例如36=2*2*3*3,即包含2和3两个因子。NowCoder希望你开发一个程序输出每个正整数的因子个数。

要求输出一个数n的所有因子,首先因子肯定是不能为1和它本身的。并且重复的因子只算一个。那么我们从最小因子2开始到最大因子n的平方根结束,依次遍历这个区间的每个数

小型骷髅的博客 515

从硬件异常到代码救赎:RH850内存访问错误(MAE)的深层诊断与艺术

本文深入探讨瑞萨RH850微控制器的内存访问错误(MAE)诊断与解决方法。针对程序跑飞和Flash Driver交互中的潜在陷阱,提供系统性硬件异常分析框架和防御性编程实践,帮助嵌入式开发者从底层机制到代码层面有效预防和修复MAE问题,提升系统稳定性。

pytorch8learner的博客 197

牛客网——最难的问题

[编程题]最难的问题 NowCoder生活在充满危险和阴谋的年代。为了生存,他首次发明了密码,用于军队的消息传递。假设你是军团中的一名军官,需要把发送来的消息破译出来、并提 供给你的将军。 消息加密的办法是:对消息原文中的每个字母,分别用该字母之后的第5个字母替换(例如:消息原文中的每个字母A 都分别替换成字母F),其他字符不 变,并且消息原文的所有字母都是大写的。密码中的字母与原文中的字母对应关系如下。 密码字母:A B C D E F G H I J K L M N O P Q R S T U V W

清风彬的博客 413

二次开发vba_CATIA VBA(VBS)二次开发:使用Search批量选择元素

在CATIA二次开发中很多在程序中进行自动交互的方法或函数都需要使用选择集作为参数,将几何元素按照要求批量添加到选择集中也是实现程序自动运行的有效方法。在前面的文章《CATIA使用VBA(VBS)二次开发时用户的交互选择》和《CATIA使用VBA(VBS)二次开发时工程图和草图位置的交互选择函数Indicate2D》中介绍了在CATIA VBA(VBS)二次开发中用户和选择集之间的交互操...

weixin_32497403的博客 1321

从零到一:Halcon手眼标定的实战避坑指南

本文详细解析了Halcon手眼标定的完整流程,重点介绍了Eye-in-Hand和Eye-to-Hand两种模式的实操技巧与常见陷阱。通过九点法、N点法等实战案例,提供硬件配置检查、数据采集策略及误差修正方案,帮助开发者提升机械臂与视觉系统的协同精度,适用于工业自动化领域的精准定位与抓取任务。

neovim7hacker的博客 235

【PAT】因子个数

题目描述 一个正整数可以分解成一个或多个数组的积。例如36=2*2*3*3,即包含2和3两个因子。NowCoder最近在研究因子个数的分布规律,现在给出一系列正整数,他希望你开发一个程序输出每个正整数的因子个数。输入描述: 输入包括多组数据。 每组数据仅有一个整数n (2≤n≤100000)。输出描述: 对应每个整数,输出其因子个数,每个结果占一行。输入例子: 30 26 20输出例子

heroacool的专栏 962

USB3.0 Type-B连接器SSTX/SSRX信号定义常见错误与硬件设计避坑指南

本文详细解析了USB3.0 Type-B连接器中SSTX/SSRX信号的定义标准与常见设计错误。针对连接器厂商图纸可能出现的信号标识错误,提供了实用的排查方法和硬件设计避坑指南,帮助工程师避免因引脚定义颠倒导致的通信降级或故障,确保USB3.0高速传输的稳定性。

gg901的博客 1269

算法题练习系列之(四十七):因数个数

一个正整数可以分解成一个或多个数组的积。例如36=2*2*3*3,即包含2和3两个因子。NowCoder最近在研究因子个数的分布规律,现在给出一系列正整数, 他希望你开发一个程序输出每个正整数的因子个数。

大脸驴 2629

【STM32项目】基于STM32设计的震动马达超声波电机高频震动——高级定时器PWM互补输出带死区控制__资料编号3

实现高级定时器互补输出带死区控制,实现震动/超声波电机/马达,高频震动。使用 STM32F103 芯片输出两路互补 PWM,并带有死区和刹车控制功能。定时器 1 通道 1 及其互补通道输出PWM,且带死区控。当定时器 1 的刹车输入引脚被拉高时,产生刹车时间,即定时器 8 停止输出 PWM。当刹车输入引脚被拉高时,通道 1 和通道 2 将从有波形输入状态转换成无效电平状态。

嵌入式阿齐Archie 6742

微观交通流仿真软件:SUMO (Simulation of Urban MObility)_(1).SUMO入门与基础概念

SUMO(Simulation of Urban MObility)是一个开源的微观交通流仿真软件,用于模拟城市交通系统中的各种动态行为。SUMO不仅可以模拟车辆的行驶,还可以模拟行人、自行车、公交车等交通参与者的运动。通过SUMO,研究人员和工程师可以对交通系统进行详细建模和分析,从而优化交通规划、评估交通政策和设计智能交通系统。车辆路径规划:SUMO可以模拟车辆在路网中的路径选择,包括动态路径选择和静态路径选择。交通信号控制:支持多种交通信号控制策略,包括固定时间控制、自适应控制等。多模式交通:模拟不同

kkchenjj的博客 1183

[PAT乙级]自测1

[PAT乙级]自测 1之前刷完了PAT的真题,没有自测过,今天在牛客网上找了4道题测试了一下,两道通过,一道超时,另一道总是有个样例不通过,但是感觉那个样例很奇怪….. 自测题1 1008.童年生活二三事NowCoder小时候走路喜欢蹦蹦跳跳,他最喜欢在楼梯上跳来跳去。 但年幼的他一次只能走上一阶或者一下子蹦上两阶。 现在一共有N阶台阶,请你计算一下NowCoder从第0阶到第N阶共有几种走法

whl_program的博客 612

HBase在物流行业的应用:轨迹数据存储

想象一下,每天在全球范围内,数以亿计的物流包裹在各个城市、乡镇间穿梭。每一个包裹从发货人手中出发,经过仓储中心、转运站,最终到达收货人手中,这一路上都留下了它的“足迹”,也就是我们所说的轨迹数据。这些数据就像一个个拼图碎片,完整拼接起来后,能够清晰地呈现出整个物流网络的运行状况。例如,你在网上购买了一件心仪已久的商品,迫不及待地想知道它现在到哪儿了。物流平台实时更新的轨迹信息,让你可以准确了解包裹是在运输途中,还是已经到达附近的站点。

架构师的AI之路,分享AI应用开发架构的学习与实践。 966

PAT自测

1.PAT(乙级)2020年秋季考试自测-60' 2.反思 第一题本质是大整数运算,这道题没有很快写出来的原因是1.没有记住整型的范围,快速识别大整型运算.2.对字符串加法的代码不够熟练。

Barthes0131的博客 246

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

PAT 中国大学MOOC-陈越、何钦铭-数据结构-起步能力自测题 题解

PAT 中国大学MOOC-陈越、何钦铭-数据结构-起步能力自测题 题解

weixin_41801682的博客 3367

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

[PAT乙级]自测3

[PAT乙级]自测3自测题4 1001.采花生题目描述 鲁宾逊先生有一只宠物猴,名叫多多。这天,他们两个正沿着乡间小路散步,突然发现路边的告示牌上贴着一张小小的纸条:“欢迎免费品尝我种的花生!——熊字”。鲁宾逊先生和多多都很开心,因为花生正是他们的最爱。在告示牌背后,路边真的有一块花生田,花生植株整齐地排列成矩形网格。有经验的多多一眼就能看出,每棵花生植株下的花生有多少。为了训练多多的算术,鲁宾逊

whl_program的博客 501

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

PAT乙级刷题避坑指南:从‘我要通过!’到‘狼人杀’,那些题目里没说清的隐藏考点

本文深入解析PAT乙级题库中隐藏考点的解题技巧,从‘我要通过!’到‘狼人杀’等典型题目,揭示题目描述中的隐含条件和常见误区。通过具体案例拆解,帮助考生掌握从模糊描述中提取关键信息的能力,提升刷题效率与通过率。

weixin_27051161的博客 358

自测-2 素数对猜想 (20 分)

实际题目为PAT 乙级 1007题 思路: 构建一个isprime函数来判断这个数是否为素数,在判断时有一个要点:就是循环的时候这个数除的数只要从2到这个数的平方根即可,不然会超时。 注意: 1不是素数 要想有相邻且相差为2的素数对,这个数至少大于等于5 代码如下: ...

清风笑的博客 256

自测-3 数组元素循环右移问题 (20 分)

题目实际上为PAT乙级 1008题 思路: 一开始看上去觉得无从下手,不能构建数组,就想着构造函数来交换数的位置,后来发现 只要在输出时掌握规律 就很好下手了 :先把这个数列后面的输出了,再把这个数列前面的输出了 用2个for循环就能搞定。 注意: 当m大于等于n的时候要将 m=m%n 来处理 ,m大于等于n就会重复运算 没有必要 代码如下: ...

清风笑的博客 555

【PAT乙级】B1001-B1095刷题记录

本文记录了我刷PAT题目的解法和思维

memcpy0的博客 4355

PAT-乙级1008:数组元素右移问题

1008. 数组元素循环右移问题   (20分) 一个数组AA中存有NN(>0>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移MM(\ge 0≥0)个位置,即将AA中的数据由(A_0 A_1 \cdots A_{N-1}A​0​​A​1​​⋯A​N−1​​)变换为(A_{N-M} \cdots A_{N-1} A_0 A_1 \cdots A_{N-M-1}

flhsxyz的博客 297

10.12大数据c语言自测1解题报告

普通的解题报告。好好学习,天天向上!

captainfly_的博客 1198

python北京理工大学慕课_Python语言程序设计

0。我忘记了帐户信息怎么办呀?!答:如果是拼题A上的,可以自己用邮箱找回。如果是PAT上的,请用你注册时登记的电子邮箱发求助信到 chenyue@zju.edu.cn。1。我不是计算机专业的,能学这门课吗?答:只要会写程序就能学。2。我数学不好,能学这门课吗?答:会算术就可以了…… 有个别例子涉及基础数学概念(比如什么是多项式),花一分钟上网搜索一下定义就可以搞定。3。我不会写程序,能学这门课吗?...

weixin_42310670的博客 531

力扣刷题|二分查找入门(Java)

目录 写在前面 704. 二分查找 278. 第一个错误的版本 写在前面 刷了四五十道pat乙级题,只是博客还没来得及更新。准备入门一点力扣的题了。 做了第1题-两数之和,发现它和pat做题的思维实在不太一样。 pat有些注重解决实际问题,通常题目很长,但耐心读完题目,通常能有些思路。即便没有思绪,看过大佬的代码,明白几个要点是怎么实现的,知晓题目的逻辑,便大致能复写出来。至于时间和内存的限制,就我而言,大多是是由于数据结构的选择不到位,而不是由于算法。 力扣是什么感觉呢?题目很短,你以为很

XingziYY的博客 558

[每日一题] 60. 因子个数(数学)

1. 题目来源 链接:因子个数 来源:牛客网 2. 题目说明 一个正整数可以分解成一个或多个数组的积。例如36=223*3,即包含2和3两个因子。NowCoder最近在研究因子个数的分布规律,现在给出一系列正整数,他希望你开发一个程序输出每个正整数的因子个数。 输入描述: 输入包括多组数据。 每组数据仅有一个整数n (2≤n≤100000)。 输出描述: 对应每个整数,输出其因子个数,每个结...

Y-puyu 的博客 904

PAT乙级(Basic Level)练习题 因子个数

题目描述 一个正整数可以分解成一个或多个数组的积。例如36=223*3,即包含2和3两个因子。NowCoder最近在研究因子个数的分布规律,现在给出一系列正整数,他希望你开发一个程序输出每个正整数的因子个数。 输入描述: 输入包括多组数据。 每组数据仅有一个整数n (2≤n≤100000)。 输出描述: 对应每个整数,输出其因子个数,每个结果占一行。 输入例子: 30 26 20 输出例子: 3...

hestyle的博客 529
上一篇: [PAT乙级]自测1
下一篇: [PAT乙级]自测3
whl_program
博客等级 码龄11年 101粉丝 279原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值