阿汤的疑惑(大数取余+质因数分解)
链接: https://www.nowcoder.com/acm/contest/122/F
阿汤同学最近刚学数论,他发现数论实在是太有趣了,于是他想让你也感受一下数论的乐趣。现在他给你一个正整数 N 和一个正整数 M,要求你用 N 对 M 进行取余操作,即 N % M,记余数为 S。
但是他发现这样好像并不能让你感受到数论的乐趣,于是他想让你在N 对 M 取余操作的基础上再求出这个余数 S 能分解出多少个不同质因数。
质因数:质因数在数论里是指能整除给定正整数的质数,质数就是只能整除 1 和本身的数,定义 2 是最小的质数。
真的不错这道题;
考查了两个方面的知识:1、一个是用大数取余,(紫书上有写)
for( int i = 0 ; i<len ; i++) {ans=(int)( (long long ) ans*10+n[i]-'0' );}printf("%d\n",ans);
贴上 代码:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn=1000400;
int prime[maxn],x[maxn],cnt;
void is_prime(){int t=0;for(int i=2;i<=maxn;i++){if(x[i]==0){prime[t++]=i;x[i]=1;for(int j=i;j<=maxn;j+=i){x[j]=2;}}}cnt=t;
}
int main()
{is_prime();char n[1000];int m,T;while(~scanf("%d",&T)){while(T--){scanf("%s",n);scanf("%d",&m);int len=strlen(n);ll ans=0;for(int i=0;i<len;i++){ans=(int)(((ll)ans*10+n[i]-'0')%m);}int k=ans,tot=0,a[maxn],b[maxn];//printf("%d\n",k);for(int i=0;prime[i]*prime[i]<=k&&i<cnt;i++){if(k%prime[i]==0){a[++tot]=prime[i];b[tot]=0;while(k%prime[i]==0){++b[tot];k/=prime[i];}}}if(k!=1){a[++tot]=k;b[tot]=1;}printf("%d\n",tot);}}return 0;
}
阿汤的疑惑(大数取余+质因数分解)相关推荐
- 大数取余的原理和模板
对于一个大数取余可以说是常见的题了.今天我们就聊一聊它. 代码模板: for(int i=0;i<strlen(s);i++) {ans=(ans*10+s[i]-'0')%n;//n代表我们对 ...
- 大数取余运算(详解)
大数取余运算(详解) //(19^3 mod 23)^2 mod 31=25 //a=19 b=3 c=23 d=2 e=31 #include<stdio.h> long long po ...
- 0对任何数取余_大数取余
有一类题目会因为求出的结果太大而只要求输出对某个数m取余后的结果,而且这个m是比较小的数,比如不超过32位整数- 而这类大数都是可以由较小的数经过某些运算得到的- 于是我整理了一下对付几种运算的方法- ...
- ACM_无聊者序列(斐波那契数列大数取余(同余)+规律)
Problem Description: 瓜瓜在玩着由红色和蓝色的大理石做成的玻璃珠,他将n个玻璃珠从左到右排成一个序列叫做无聊者序列.一个非空的红色和蓝色玻璃珠组成的序列是一个无聊者序列.这个序列的 ...
- F - 阿汤的疑惑(模拟取余+分解质因数)
none 题目描述 阿汤同学最近刚学数论,他发现数论实在是太有趣了,于是他想让你也感受一下数论的乐趣.现在他给你一个正整数 N 和一个正整数 M,要求你用 N 对 M 进行取余操作,即 N % M,记 ...
- 大数运算(5)——大数除法(取模、取余)
有关于大数除法的运算可以大致分为两种:一种是求商(取模),另一种是求余数(取余). 有两个大整数a和b,当a==b时,a/b==1,余数是0.(a!=0,b!=0) 当a>b时,a/b>= ...
- JAVA 大数的乘法运算和取余运算
莫妒他长,妒长,则己终是短:莫护己短,护短,则己终不长. 1.乘法运算 这是一道入门的算法题,目的就是求两个超过基础数据类型所表示的两个数的乘积. 刚开始看到这道题我想的便是分解 计算 合并 ,但是合 ...
- 大数除法(求商和取余)
感觉除法是四则运算中最难的 大数除法的运算可以分为两种:求商和取余 有两个大整数a和b,当a=b时,a/b=1,余数是0.(a!=0,b!=0): 当a>b时,a/b>=1,余数需要通过计 ...
- hdu4506小明系列故事——师兄帮帮忙 (用二进制,大数高速取余)
Problem Description 小明自从告别了ACM/ICPC之后,就開始潜心研究数学问题了,一则能够为接下来的考研做准备,再者能够借此机会帮助一些同学,尤其是美丽的师妹.这不,班里唯一的女生 ...
最新文章
- Kafka 2.8.0发布,与ZooKeeper正式分手!
- Java实现堆排序及详细图解
- php中if的效率,PHP中if和or运行效率对比
- 【C#】VS2012+InstallShield2013制作软件更新包
- 暑期项目经验(九) -- request session application
- 10.8.8.8柠檬wifi网页登录_基于企业邮箱进行wifi实名认证的方案
- sysctl mysql_Sysctl
- 《ArcGIS Runtime SDK for .NET开发笔记》--在线编辑
- php框架中数据库模型层原理,简单模拟ThinkPHP框架模型层对数据库的链式操作-Go语言中文社区...
- h264码流文件通过计算first_mb_in_slice区分帧边界
- 不使用手机代理,进行手机抓包
- iris流程图_IRIS项目管理流程
- [生存志] 第11节 历代大事件概览 春秋
- 秋天的第一杯奶茶刷屏互联网,其背后又蕴含着哪些营销逻辑呢?
- gensim w2v 使用记录
- 2019年Java大厂面试题讲解(周阳) 之Github学习(自学路上助推器)
- 2022数据库系统工程师 下午 试题三 真题答案
- 谷歌浏览器占CPU非常高的解决办法
- caffe创建网络_Caffe2-创建自己的网络
- 魔兽世界自建服务器,魔兽世界怀旧服服务器选择 选哪个服务器好
热门文章
- win10 uwp 打开文件管理器选择文件
- android 群控 网络 adb,逍遥安卓模拟器群控源码
- 计算机设备维护保养和网络巡检,弱电设备的维护保养及巡检管理制度
- 【html】关于doctype
- Windows安装配置Python Scrapy环境
- Tesseract-ocr识别中文并训练字库操作指南
- 8021什么意思_违章代码8021是什么意思
- php内容管理系统 admini,BageCMS 开源网站内容管理系统 php版下载_BageCMS 开源网站内容管理系统 php版官方下载-太平洋下载中心...
- Halcon学习(一) 初识Halcon HDevelop下载安装
- 推荐6款非常实用的工具,你用过几款呢?