第32次CCF计算机软件能力认证-第二题

因子化简

题目背景
质数(又称“素数”)是指在大于 1的自然数中,除了 1和它本身以外不再有其他因数的自然数。

问题描述
小 P 同学在学习了素数的概念后得知,任意的正整数 n都可以唯一地表示为若干素因子相乘的形式。如果正整数 n有 m个不同的素数因子 p1,p2,…pm,则可以表示为:n = (p1^t1) x (p2^t2) x … x (pm^tm)。

小 P 认为,每个素因子对应的指数 ti反映了该素因子对于 n的重要程度。现设定一个阈值 k,如果某个素因子 pi 对应的指数 ti小于 k,则认为该素因子不重要,可以将 pi^ti项从 n中除去;反之则将 pi^ti项保留。最终剩余项的乘积就是n简化后的值,如果没有剩余项则认为简化后的值等于 1。

试编写程序处理 q个查询:

每个查询包含两个正整数 n和 k,要求计算按上述方法将 n简化后的值。
输入格式
从标准输入读入数据。

输入共 q + 1行。

输入第一行包含一个正整数 q,表示查询的个数。

接下来 q行每行包含两个正整数 n和 k,表示一个查询。

输出格式
输出到标准输出。

输出共 q行。

每行输出一个正整数,表示对应查询的结果。

样例输入

3
2155895064 3
2 2
10000000000 10

样例输出

2238728
1
10000000000

样例解释
查询一:
在这里插入图片描述

其中素因子 3指数为 2,107 指数为 1。将这两项从 n中除去后,剩余项的乘积为 在这里插入图片描述

查询二:

所有项均被除去,输出 1。

查询三:

所有项均保留,将 n原样输出。

子任务
40% 的测试数据满足:n <= 1000;

80% 的测试数据满足:n <= 10^5;

全部的测试数据满足:1 < n <= 10^10 且 1 < k ,q <= 10。

#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
typedef long long ll;
ll n;
ll x;
int q,k;
ll ans = 1;ll qmi(ll a,ll b)
{ll res = 1;while(b){if(b & 1) res = res * a;a = a * (ll)a;b = b >> 1;}return res;
}void divide(ll x)
{for(ll i=2;i<=x/i;i++){if(x%i == 0){ll res = 0;while(x%i == 0){x /= i;res++;}// cout<<i<<" "<<res<<endl;if(res >= k) ans *= (ll)qmi(i,res);// cout<<i<<" "<<res<<endl;// cout<<(ll)i*i<<endl;}}// if(x>1)// {//     cout<<x<<" "<<"1"<<endl;// }cout<<ans<<endl;
}int main()
{cin>>q;while(q--){ans = 1;cin>>n>>k;divide(n);}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/336906.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CloudCompare——点云空间圆拟合

目录 1.概述2.软件实现3.完整操作4.算法源码5.相关代码 本文由CSDN点云侠原创&#xff0c;CloudCompare——点云空间圆拟合&#xff0c;爬虫自重。如果你不是在点云侠的博客中看到该文章&#xff0c;那么此处便是不要脸的爬虫与GPT生成的文章。 1.概述 CloudCompare软件中的To…

探索AI技术的奥秘:揭秘人工智能的核心原理

目录 前言 学习AI要看的第一本书 人工智能应当以人为本 史蒂芬卢奇&#xff08;Stephen Lucci&#xff09; 萨尔汗M穆萨&#xff08;Sarhan M . Musa&#xff09; 丹尼科佩克&#xff08;Danny Kopec&#xff09;&#xff08;已故&#xff09; 通晓六点&#xff0c;明白…

webpack魔法注释-预获取/预加载模块

Webpack v4.6.0 增加了对预获取&#xff08;prefetch&#xff09;和预加载&#xff08;preload&#xff09;的支持。 在声明 import 时&#xff0c;使用下面这些内置指令&#xff0c;可以让 webpack 输出“resource hint”&#xff0c;来告知浏览器&#xff1a; prefetch&…

ABAP 工单状态读取

CDS代码 CDS代码如下&#xff0c;可自行转换成OPEN SQL代码 AbapCatalog.sqlViewName: ZPPV024 AbapCatalog.compiler.compareFilter: true AbapCatalog.preserveKey: true AccessControl.authorizationCheck: #NOT_REQUIRED EndUserText.label: 读取生产工单状态 define vie…

【音视频】海康的音频没有的问题

目录 海康的错误 参考文章 海康的错误 参考文章 PS流详解&#xff08;载荷H264&#xff09;-CSDN博客 海康摄像头PS流格式解析&#xff08;RTP/PS/H264&#xff09; RTP协议全解析&#xff08;H264码流和PS流&#xff09;-CSDN博客

鸿蒙开发已解决-Failed to connect to gitee.com port 443: Time out 连接超时提示

文章目录 项目场景:问题描述原因分析:解决方案:解决方案1解决方案2:解决方案3:此Bug解决方案总结解决方案总结**心得体会:解决连接超时问题的三种方案**项目场景: 导入Sample时遇到导入失败的情况,并提示“Failed to connect to gitee.com port 443: Time out”连接超…

C++上位软件通过Snap7开源库访问西门子S7-200/LOGO PLC/合信M226ES PLC V存储区的方法

前言 在前面例程中谈到了C 通过Snap7开源库S7通信库跟西门子S7-1200PLC/S7-1500PLC以及合信CTMC M226ES PLC/CPU226 PLC通信的方式方法和应用例程。但是遗憾的是Snap7中根据官方资料显示只能访问PLC的 DB区、MB区、C区、T区 、I区、Q区&#xff0c;并没有提到有关如何访问S7-20…

C++:多态|虚函数、虚表底层原理|多态原理

C&#xff1a;多态|虚函数、虚表底层原理|多态原理 前言一、多态的概念二、多态的定义及实现2.1 多态的构成条件2. 2 虚函数2.3 虚函数的重写2.3.1 虚函数重写的例外1&#xff1a;协变(基类与派生类虚函数返回值类型不同)2.3.2 虚函数重写的例外2&#xff1a;析构函数的重写(基…

Elasticsearch windows开箱即用【记录】

一、准备工作 安装ES之前要在本机安装好JDK&#xff0c;对应的兼容性见官网链接&#xff1a;https://www.elastic.co/cn/support/matrix ES官网链接&#xff1a;https://www.elastic.co/cn/, 我本机安装的是JDK8&#xff0c;测试使用的是7.3.0版本的ES和Kibana。 1、首先去…

CMake入门教程【核心篇】设置和使用缓存变量

😈「CSDN主页」:传送门 😈「Bilibil首页」:传送门 😈「动动你的小手」:点赞👍收藏⭐️评论📝 文章目录 概述设置缓存变量使用缓存变量更改缓存变量完整代码示例实战使用技巧注意事项总结与分析

基于宝塔搭建Discuz!论坛

一、安装宝塔 我是在我的虚拟机上安装图的宝塔 虚拟机版本&#xff1a;Ubuntu 18.04 wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh 6dca892c安装完成之后在浏览器输入你的地址 https://你的域名&#xff08;或…

sql将查询出的数值变为中文

在开发中通常会遇到的情况就是&#xff0c;用户的性别在数据库中不是以中文字符“男&#xff0c;女”来表示的&#xff0c;而是使用数字 1 0 来表示。但是显示到界面的时候&#xff0c;如果显示 1 0 用户也不明白是什么意思&#xff0c;就需要将其转为原有的意思。当然方法…