文章目录

  • 题目1
    • 解题思路
    • 代码
  • 题目2
    • 解题思路
    • 代码

题目1

牛客

解题思路

首先对于求素数,因数分解这类的题目,搜索范围一般是[2,sqrt(a)]
因为数学中:假设a合数,并且a == b * c,其中bc中必定有一个 ≤ sqrt(a),不可能出现bc同时大于a

对于这一题,还有一点要注意的是,当我们把a的所有2因数都分解出来后,2的倍数(4、6、8…)都不可能再分解出来,比如100分解出2 x 2后,无法再分出2的倍数,同样分解出所有3因数后,则无法再分出3的倍数…

因此我们可以:[2, sqrt(a)]区间从小到大逐渐试探的时候,碰到一个分解的因数时a,就一直分解a,直到不能再分解a,此时也不可能再分解出a的倍数。

代码

// write your code here cpp
#include <iostream>
#include <cmath>
#include <cstdio>
using namespace std;int main()
{int input;while(cin >> input){printf("%d = ",input);for(int i=2 ;i<=sqrt(input);i++){while((input % i == 0)){if(input/i==1)//最后一个数字,特殊输出{break;}printf("%d * ",i);input/=i;}}printf("%d\n",input);}return 0;
}

题目2

牛客

解题思路

这个题和上一题基本一致,只不过上一题要写出完整的表示形式,而这一题需要输出不重复的因子的个数,代码中只需要稍微修改一部分。先判断是否是因子,如果是使用while循环处理能被这个因子整除的情况

代码

#include <iostream>
#include <cmath>
#include <cstdio>
using namespace std;int main()
{int input;while(cin >> input){int number=0;for(int i=2 ;i<=sqrt(input);i++){if(input % i == 0)number++;while(input % i == 0)//就像36,不要有重复的因子input/=i;}if(input > 1)//如果不等于1,说明还有一个因子number++;cout<<number<<endl;}return 0;
}

基础编程题之因数分解相关推荐

  1. 判断三角形java代码_java基础编程题之异常处理

    以下是刚开始学习java的基础编程题,每天持续更新java每个知识点的题目,持续练习,不断提高java基本功,培养编程能力.今天的练习的十八题是java的异常处理的使用. 1.检测年龄不能为负数和大于 ...

  2. 实体类 接口_Java 语言基础编程题 (二维数组, 五子棋游戏, 实体类和接口)

    原文:Java 语言基础编程题 (二维数组, 五子棋游戏, 实体类和接口, 视频讲解) 这里分享三道编程题, 下面是我个人的视频讲解 二维数组, 五子棋游戏, 实体类和接口_哔哩哔哩 (゜-゜)つロ ...

  3. 华为机试题python版节选(基础编程题)

    前言 自学python之后,可以借助这些企业招聘时的机考题目来锤炼一下实践能力.. 每道题含要点解析,是按照自己理解梳理的,多个答案的是结合自己的答案+网上的答案,不一定很严谨,请读者自行在编译器中调 ...

  4. PTA-然后是几点(基础编程题)

    PTA-然后是几点(基础编程题) 有时候人们用四位数字表示一个时间,比如1106表示11点零6分.现在,你的程序要根据起始时间和流逝的时间计算出终止时间. 读入两个数字,第一个数字以这样的四位数字表示 ...

  5. C++基础编程题(27)输入一个数字,为其高,一个符号*,输出该符号组成的平行四边形形状

    C++基础编程题(27)输入一个数字,为其高,一个符号*,输出该符号组成的平行四边形形状

  6. 基础编程题(1~5)

    基础编程题(1~5) 01.斐波那契数列 1.1.程序分析 1.2.代码实现 02.判断素数(Prime number) 2.1.程序分析 2.2.代码实现 2.3.科普小课堂:素数 2.3.1.素数 ...

  7. c语言基础编程题文库,C语言基础编程题资料.doc

    C语言基础编程题资料.doc |5-1 求幂之和 15 分本题要求编写程序,计算 sum21 22 23 cdots 2nsum2122232n.可以调用 pow 函数求幂.输入格式输入在一行中给出正 ...

  8. C语言基础编程题——喝水问题,译码问题

    C语言基础编程题--喝水问题,译码问题 有这样一道智力题:"某商店规定:三个空汽水瓶可以换一瓶汽水.小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?"答案是5瓶,方法如下:先用9 ...

  9. 有n个人围成一圈 顺序排号 java_java基础编程题有n个人围成一圈顺序排号

    下面给大家带来的这道编程题可以算得上是一道非常基础的java编程题目,刚刚开始接触java编程的小伙伴一起来看看具体的题目以及解题方法吧. 下面是具体的题目,题目还是非常的简单的. 一.题目 有n个人 ...

最新文章

  1. JavaScript 函数
  2. RHEL 5基础篇—文件和目录的管理
  3. [云炬创业基础笔记] 第三章测试10~12
  4. 荣耀X8碎屏2020-05-14
  5. MONGODB 集群 配置及 客户端PHP 连接
  6. tcga癌症亚型获取_将亚型多态性与通用多态性相关联的危险
  7. html5本地存储论坛,Web Storage--HTML5本地存储
  8. Unity3D之NGUI基础6.1:按钮交互
  9. 图像数字水印技术研究及matlab实现,基于DFT的数字水印技术及MATLAB实现
  10. Android 最常用的设计模式五 安卓源码分析——建造者模式
  11. python的口算自动生成系统(GUI界面编程)
  12. Cisco Live 2016:CEO罗卓克谈英国脱欧、内部孵化以及向服务转型
  13. day17.什么是堆栈
  14. 计算机提示无法识别优盘,插入U盘显示无法识别怎么办
  15. 山科OJ:Problem C: Lemon
  16. 【Python】新华字典(bushi
  17. 维权的背后,暴雪在游戏市场的霸权是如何旁落的?
  18. js执行oracle函数吗,执行javascript函数
  19. python脚本计算STM32的bxCAN的波特率
  20. 画论87 陈撰《书画涉笔》

热门文章

  1. python globals() 动态函数调用_[Python] 动态函数调用(通过函数名)
  2. 大数据2019年的三大趋势你看了吗?
  3. ps如何修改图片大小尺寸_PS常用操作 | 图片的裁剪、拼接、尺寸调整... ...
  4. 用R在地图上绘制网络图的三种方法
  5. 存储过程没有执行完后没有释放锁_【大厂面试07期】说一说你对synchronized锁的理解?...
  6. 数字系统设计学习之QuartusII9的安装
  7. php我赢职场季枫_我赢职场 - 主页
  8. Vue第一部分(6):Vue的生命周期
  9. 【ES6(2015)】Proxy
  10. 基于SSM的员工管理系统设计(含源文件)