码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • HJ6 质数因子


    一、题目

    1. 描述
    2. 功能:输入一个正整数,按照从小到大的顺序输出它的所有质因子(重复的也要列举)(如180的质因子为2 2 3 3 5 )
    3. 数据范围: 1 \le n \le 2 \times 10^{9} + 14 \1≤n≤2×10
    4. 9
    5. +14
    6. 输入描述:
    7. 输入一个整数
    8. 输出描述:
    9. 按照从小到大的顺序输出它的所有质数的因子,以空格隔开。
    10. 示例1
    11. 输入:
    12. 180
    13. 复制
    14. 输出:
    15. 2 2 3 3 5

    二、C语言解法

    1. #include
    2. int main()
    3. {
    4. long int n;
    5. scanf("%ld",&n);
    6. for(int i=2;i*i<=n;i++)
    7. while(n%i==0)
    8. {
    9. printf("%d ",i);
    10. n = n/i;
    11. }
    12. if(n!=1)
    13. printf("%ld ", n);
    14. return 0;
    15. }

    知识点:

            ①此题主要需要注意时间复杂度,判断因子的时候只需要判断到i*i

            ②解法中没有对因数判断是否为质数的环节,因为除数是从小到大进行遍历,这样输入值非质数的因子会先被拆分为质数因子,而不会输出该非质数因子。

            ③不要忽略被除数本身有可能就是一个质数,如果除数遍历了以后,没有一个是它的因子,则该数即为质数。

    三、python解法

    1. import sys
    2. a = int(input())
    3. for i in range(2, int(a**0.5)+1):
    4. while a%i==0:
    5. print(i, end=' ')
    6. a = a//i
    7. if(a!=1):
    8. print(a)

    知识点:

            ①在python中双星号(**)是指数运算符,用于进行乘方运算或幂运算。双星号用于两个数之间,表示将第一个数作为底数,第二个数作为指数进行乘方运算或幂运算。

            ②python在进行除法运算的时候会自动将数转换为双精度浮点型来计算,以防止结果精度的丢失,即使可以整除,也会先进行转换再运算,结果返回一个float,如果需要结果返回一个整型,可以使用‘//’,返回一个int,但需要除数与被除数均为int型,否则结果也会是float。示例如下:

    1. print(4/2) #输出为2.0
    2. print(7//4) #输出为1

  • 相关阅读:
    Windows下Java程序自启动
    【python笔记】第十一节 生成器和迭代器
    开放式激光振镜运动控制器(三):ZMC408SCAN轴控光纤激光器加工
    【JavaEE 进阶(二)】Spring MVC(下)
    以太网,令牌网,FDDI,ATM到底是什么?有什么区别?
    Spring之AOP详解
    android 完全退出应用程序
    2023年7月京东奶粉行业品牌销售排行榜(京东数据产品)
    ubuntu安装mysql详细过程
    基于单片机的电源切换控制器设计(论文+源码)
  • 原文地址:https://blog.csdn.net/qq_41872042/article/details/133782812
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号