跟着英雄刷算法-素数

2023-11-18

跟着英雄大佬刷算法的第三天.......

数论基础

 

优化一:对于一个非素数n来说,如果x是n的一个因子。那么n/x也是n的一个因子,我们可以假设x

所以对于一个数n,判断它是否为一个素数我们需要确定的范围为【2,根号下n】。

优化二:

例1:

//不是素数返回0
bool isprime(int n)
{
    if(n<2)
    	return false;
    if(n>=2)
    {
        int num=sqrt(n);
        int i=0;
        for(i=2;i<=num;i++)
        {
            if(n%i==0)
              return false;           	 
        }       
    }
    return true;
}

 题目1

int huiwen(int n)
{
    int a=0;
    if(n>0)

    {
        a=n%10;
        n=n/10;
        return a+10*huiwen(n);
    }
    return 0;
}
bool isprime(int n)
{
    if(n<2)
    {
        return false;
    }
    if(n>=2)
    {
        int i=0;
        for(i=2;i<=sqrt(n);i++)
        {
            if(n%i==0)
            {
                return false;
            }
        }
    } 
    return true;
}
int primePalindrome(int n)
{
    for(int i=n;i>=n;i++)
    {
        int ret=huiwen(i);
        if(i==ret)
        {
           if(isprime)
           {
               return i;
           }
        }
    }
    return 0;
 }

 题目2:

int min(int x,int y)
{
    int ret=x<y?x:y;
    return ret;
}
int nthUglyNumber(int n)
{
    int *ugly = (int *)malloc(sizeof(int) * n);
    int a = 0;
    int b = 0;
    int c = 0;
    ugly[0] = 1;//第一个丑数
    for (int i = 1; i < n; i++)
    {
        int arr1 =  ugly[a] * 2;
        int arr2 = ugly[b] * 3;
        int arr3 = ugly[c] * 5;
        ugly[i] = min((min(arr1, arr2)), arr3);
        if (ugly[i]== arr1)
        {
            a++;
        }
        if (ugly[i]== arr2)
        {
            b++;
        }
        if (ugly[i]==arr3)
        {
            c++;
        }
    }
    return ugly[n - 1];
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

跟着英雄刷算法-素数 的相关文章

  • 【C++编程技巧】根据字符串中的指定字符作为分界将字符串拆分

    在C 中可以用split 函数方便的实现字符串的拆分 在C 中没有类似的函数 用strtok函数进行完成字符串分割 原型 char strtok char str const char delim 功能 分解字符串为一组字符串 参数说明 s
  • JAVA中的JeeSite框架基本简介

    JAVA的主流框架是很多的 每一个框架都有它的适用项目和条件 所有JAVA程序员都熟悉的肯定是常用的四大框架 而JeeSite这个框架使用的人却不是很多 但是这个框架却有它的独到之处 稳定 高效 调用方便 这里对JeeSite做一个简单的介

随机推荐

  • kill掉僵尸进程的方法(kill -9 <PPID>)

    ps A ostat ppid pid cmd grep e Zz 先用以上bash命令找到僵尸进程 Z右边第一列为PPID 第二列为PID kill 9 PPID 即PID对应的父进程即可 kill 9
  • 从TP、FP、TN、FN到ROC曲线、miss rate、行人检测评估

    从TP FP TN FN到ROC曲线 miss rate 行人检测评估 update 2018年1月31日22 21 56 最初版本是基于行人检测Piotr Dollar大佬的论文和代码胡乱写的 难免有错 严谨的paper请参考 The R
  • “不完全类型”指在C++中有声明但又没有定义的类型。

    用delete删除一个只有声明但无定义的类型的指针 是危险的 这通常导致无法调用析构函数 包括对象本身的析构函数 成员 基类的析构函数 从而泄露资源 示例代码 引用 class C 在另一个cpp文件中定义 C createC 在另一个cp
  • 接口并发性能测试开发之:从测试方案设计、测试策略、指标分析到代码编写,这一篇全搞定。

    并发接口性能设计思路与代码编写 1 引言 2 并发测试定义 3 并发测试分类 4 设计思路整理 5 测试方案设计 6 指标分析 7 代码实战 8 总结 1 引言 这篇是我3月份在公司内部做的技术分享内容 由于我在公司内部分享的内容较多 以及
  • Linux命令汇总

    1 常用的快捷键 tab键 命令或者路径提示及不全 ctrl c 放弃当前输入 终止当前任务或程序 ctrl l 清屏 ctrl insert 复制 鼠标右键 粘贴 alt c 断开连接 ctrl shift R 重新连接 alt 1 2
  • 【计算机视觉】上游任务和下游任务的理解

    文章目录 一 前言概述 二 上游任务 三 下游任务 一 前言概述 计算机视觉中有常见的四大任务 分类 解决 what 定位 解决 where 检测 解决 what 和 where 分割 实例分割 语义分割和场景分割等像素级别的处理 二 上游
  • 使命、愿景、价值观到底有什么区别

    以前的企业都是在发展到一定成熟阶段 才开始考虑这三个问题 但今天人们越来越多的意识到 哪怕在企业发展的初期 对于创业企业来说 确定公司的使命 愿景和核心价值观也是非常重要的 明确的使命 愿景和核心价值观对于企业的好处在于 形成统一共识目标方
  • linux下找不到sqlite3头文件,linux下 使用库文件时遇到相关问题的解决方法...

    今天用到sqlite相关函数接口 要用到 include 头文件 如果之前没有安装过sqlite3 这个库文件肯定是找不到的 网上看到需要安装sqlite3 libsqlite3 dev 顺利的话apt get就能安装 如果像我一样软件源比
  • qt中直接用qcustomplot来画图

    参考博客 https www cnblogs com yingjiehit p 3988701 html 画出的图 改良版的图形 最后的源码见 https download csdn net download littlehero 121
  • 谷歌翻译SDK (Google Translate SDK)的使用

    一 安装Google Cloud SDK http blog csdn net nicolelili1 article details 68947164 二 设置你的项目 1 登陆谷歌账号 没有就注册 https accounts goog
  • 【SpringBoot】ApplicationContext介绍

    1 ApplicationContext是spring继BeanFactory之外的另一个核心接口或容器 允许容器通过应用程序上下文环境创建 获取 管理bean 为应用程序提供配置的中央接口 ApplicationContext继承关系 2
  • PCA+SVM手写数字识别 代码参考

    我可以为您提供一些参考 但是最终具体实现还需要您根据自己的需求进行调整 可以参考下面的代码 from sklearn import datasets from sklearn model selection import train tes
  • Android Intent的FLAG标志详解

    原文地址 Android Intent的FLAG标志详解 前言 在Android开发中 Intent想必大家经常用 Intent本意为目的 意向 意图 在Android中 Intent是系统各组件 或应用程序 之间进行数据传递的数据附载者
  • 小程序开发Q&A

    本文总结小程序开发中常见的错误问题 请开发者利用浏览器的搜索功能来检索关键字 快速定位到相关问题 快捷键Ctrl F打开搜索框 Q1 为什么会出现 脚本错误或者未正确调用Page 的错误提示 A 出现这个错误的原因通常是因为对应页面的js文
  • 真香系列!史上最全的微服务专业术语面试50问,赶快收藏备战金九银十!

    前言 上个月4号通过阿里工作的学长进行内推 7天简历评估 11号接到电话面试 尽管猝不及防回答仓促 但好在前期准备充分 通过 3天后进行现场面试 通知时间为早上10点 当日设了七点闹钟 结果五点五十三分惊醒后再无法入睡 起床 重新翻看之前做
  • 春秋云镜 CVE-2022-32991

    春秋云镜 CVE 2022 32991 Web Based Quiz System SQL注入 靶标介绍 该CMS的welcome php中存在SQL注入攻击 1 启动场景 2 注册任意用户 3 登录成功进入主页 http eci 2zei
  • postgresql 清空数据表 truncate

    在 mysql 中如果需要清空表 只需要 TRUNCATE table name 即可 如果有自增的 id 字段 也会还原回 1 但是 postgresql 与 mysql 稍有不同 postgresql 的自增字段 是通过 序列 sequ
  • Python Turtle绘图基础(三)——Turtle色彩和画笔设置

    今天继续给大家介绍Python相关知识 本文主要内容是Python Turtle绘图基础 三 包括Turtle色彩和Turtle画笔设置 一 Turtle色彩设置 想要用Turtle绘制出更加复杂 更加美丽的图形 就必须学习Turtle的色
  • 【按照年月去统计信息并分类展示】

    1 前言 需求是需要将历史订单按照年月分类展示 并展示汇总值 由于后端返回的是数组的数据 并没有将数据做好统计分类 出于对自己的自信以及不想给别人添麻烦的信息 然后自己写了一下处理的方法 然后放上最后的效果图吧 2 代码实现 按照月份统计每
  • 跟着英雄刷算法-素数

    跟着英雄大佬刷算法的第三天 数论基础 优化一 对于一个非素数n来说 如果x是n的一个因子 那么n x也是n的一个因子 我们可以假设x 所以对于一个数n 判断它是否为一个素数我们需要确定的范围为 2 根号下n 优化二 例1 不是素数返回0 b