试题 基础练习 分解质因数

简介: 试题 基础练习 分解质因数

试题 基础练习 分解质因数

资源限制

内存限制:512.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s

问题描述

  求出区间[a,b]中所有整数的质因数分解。

输入格式

  输入两个整数a,b。

输出格式

  每行输出一个数的分解,形如k=a1a2a3…(a1<=a2<=a3…,k也是从小到大的)(具体可看样例)

样例输入

3 10

样例输出

3=3

4=22
5=5
6=23

7=7

8=222

9=33
10=25

提示

  先筛出所有素数,然后再分解。

数据规模和约定

  2<=a<=b<=10000

运行结果:

#include <iostream>
#include <vector>
using namespace std;
// 判断是否是质数
bool IsPrime(int n)
{
  int i;
  for (i = 2; i <= n/2; ++i)
  {
    if (n%i == 0)
    {
      return false;
    }
  }
  if (i > n/2)
  {
    return true;
  }
  else
  {
    return false;
  }
}
int main()
{
  vector<int> v; // 存储2-b的所有质数
  int a,b;  
  cin >> a;
  cin >> b;
  for (int i = 2; i<=b; ++i) // 存储质数过程
  {
    if (IsPrime(i))
    {
      v.push_back(i);
    }
  }
  for ( int i = a; i <= b; ++i) // 从a开始处理直到b
  {
    if (IsPrime(i))   // 是质数的话 直接输出
    {
      cout << i << "=" << i;
    }
    else  // 不是质数分别处理
    {
      cout << i << "=";
      int temp = i;// 暂存i
      int index = 0; //存储质数的数组下标 索引
      while (temp != 1)  // 当前数字没有被除尽时继续
      {
        if (temp%v[index] == 0)  // 从第一个质数开始除
        {
          cout << v[index];  
          temp /= v[index];     
          index = 0; // 还原   即 继续从第一个质数2开始尝试
          if (temp != 1)   // 控制 * 的输出
            cout << "*";
        }
        else  // 不能整除的话尝试下一个质数
        {
          index++;
        }
      }
    }
    cout << endl;
  }
  return 0;
}
相关文章
|
测试技术 持续交付 开发工具
《Git 简易速速上手小册》第6章:Git 在持续集成/持续部署(CI/CD)中的应用(2024 最新版)
《Git 简易速速上手小册》第6章:Git 在持续集成/持续部署(CI/CD)中的应用(2024 最新版)
374 2
|
编解码 Java 编译器
【Protobuf】Protobuf中的Message语法规范
在Message中定义一个或者多个字段,FieldType是字段的数据类型,可以是基本类型(如int32、string、bool等)或其他定义的Message类型。fieldName是字段的名称,可以根据需求自定义。fieldNumber是字段的唯一标识号,用于在消息的二进制编码中标识字段。
1037 0
|
存储 固态存储 安全
阿里云服务器最新价格参考,2024年阿里云服务器活动价格表及收费标准
进入2024年,阿里云服务器的活动价格又降价了,现在购买阿里云服务器年付最低仅需61元即可购买一台2核2G3M带宽的轻量应用服务器,而月付最低只需要30.06元即可购买一台2核4G3M带宽配置的云服务器,另外通用算力型u1实例2核4G、4核8G和8核16G等热门配置的活动价格在2024年也再次下降了,例如2核4G配置1M带宽20G ESSD Entry云盘,现在活动价格只要531.79元/1年了,选择5M带宽现在只要898.99元/1年了,下面是2024年阿里云服务器最新活动价格表。
阿里云服务器最新价格参考,2024年阿里云服务器活动价格表及收费标准
|
SQL 前端开发 安全
Gin-Vue-Admin 使用 gin+vue 进行极速开发的全栈开发基础平台【gva 第一节】
功能: 1.增加了 pgsql 数据库初始化,用户可选用 pgsql 进行开发。 2.增加了业务数据库功能,用户可通过 yaml 中配置自己的业务数据库,根据 name 获取业务库进行业务操作,实现框架和业务的数据库分离。 3.oss 集成了华为云 oss。 4.前端打包增加了提示内存不足时的一键 node 内存扩容 build 命令。 5.调整了获取用户信息的方法,增加了不鉴权模式下的用户信息获取方式。 6.配置页面调整。 7.取消了自动化代码中数据库类型和 size 的选择模块,防止自动化代码报错。
752 0
|
开发工具 git
将本地项目上传到svn服务端和git
将本地项目上传到svn服务端和git
747 0
|
人工智能 测试技术 vr&ar
GPT超越扩散、视觉生成Scaling Law时刻!北大&字节提出VAR范式
【4月更文挑战第22天】北京大学与字节跳动联合研发的Visual AutoRegressive modeling (VAR)是一种创新的图像生成范式,通过“下一尺度预测”而非传统的“下一标记预测”学习视觉分布。VAR在ImageNet基准上提升了自回归模型的FID和IS,同时加快了20倍推理速度,超越扩散变换器。该模型展示出与大型语言模型相似的缩放定律,解决了自回归模型的计算成本问题和扩散模型的速度不足。VAR具备零样本泛化能力,适用于图像修复等任务,未来研究将探索其在高分辨率图像和视频生成中的潜力。[论文链接](https://arxiv.org/abs/2404.02905)
359 1
|
存储 C语言
ArcGIS:Excel/Txt 文件生成点图层、属性表编辑的基本方法、属性表之间的连接(合并)和关联的操作、属性表的字段计算器的使用
ArcGIS:Excel/Txt 文件生成点图层、属性表编辑的基本方法、属性表之间的连接(合并)和关联的操作、属性表的字段计算器的使用
765 0
|
数据安全/隐私保护
加速度、速度、位移互相转换,加速度转位移matlab程序,任意数据类型
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
|
SQL JSON 数据格式
ES中如何实现空值和非空值的查询
ES中如何实现空值和非空值的查询
5481 0
|
SQL 搜索推荐 测试技术
ChatGPT助您打造个性化简历:个人品牌升级攻略
如何提升面试机会?公式:面试机会=投递数量×简历命中率。简历是求职者的关键,影响公司第一印象、面试机会和薪资期待。优化简历应确保背景清晰、技能突出、附证明材料。若需帮助,可利用ChatGPT优化。实践步骤包括准备简历,用ChatGPT进行优化。通过具体示例展示如何改进简历的技能描述和工作经历描述,强调成果和效率提升。使用ChatGPT时,明确需求、提供文本参考、设定角色和不断调整,以优化简历内容。