链接: 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;
}

阿汤的疑惑(大数取余+质因数分解)相关推荐

  1. 大数取余的原理和模板

    对于一个大数取余可以说是常见的题了.今天我们就聊一聊它. 代码模板: for(int i=0;i<strlen(s);i++) {ans=(ans*10+s[i]-'0')%n;//n代表我们对 ...

  2. 大数取余运算(详解)

    大数取余运算(详解) //(19^3 mod 23)^2 mod 31=25 //a=19 b=3 c=23 d=2 e=31 #include<stdio.h> long long po ...

  3. 0对任何数取余_大数取余

    有一类题目会因为求出的结果太大而只要求输出对某个数m取余后的结果,而且这个m是比较小的数,比如不超过32位整数- 而这类大数都是可以由较小的数经过某些运算得到的- 于是我整理了一下对付几种运算的方法- ...

  4. ACM_无聊者序列(斐波那契数列大数取余(同余)+规律)

    Problem Description: 瓜瓜在玩着由红色和蓝色的大理石做成的玻璃珠,他将n个玻璃珠从左到右排成一个序列叫做无聊者序列.一个非空的红色和蓝色玻璃珠组成的序列是一个无聊者序列.这个序列的 ...

  5. F - 阿汤的疑惑(模拟取余+分解质因数)

    none 题目描述 阿汤同学最近刚学数论,他发现数论实在是太有趣了,于是他想让你也感受一下数论的乐趣.现在他给你一个正整数 N 和一个正整数 M,要求你用 N 对 M 进行取余操作,即 N % M,记 ...

  6. 大数运算(5)——大数除法(取模、取余)

    有关于大数除法的运算可以大致分为两种:一种是求商(取模),另一种是求余数(取余). 有两个大整数a和b,当a==b时,a/b==1,余数是0.(a!=0,b!=0) 当a>b时,a/b>= ...

  7. JAVA 大数的乘法运算和取余运算

    莫妒他长,妒长,则己终是短:莫护己短,护短,则己终不长. 1.乘法运算 这是一道入门的算法题,目的就是求两个超过基础数据类型所表示的两个数的乘积. 刚开始看到这道题我想的便是分解 计算 合并 ,但是合 ...

  8. 大数除法(求商和取余)

    感觉除法是四则运算中最难的 大数除法的运算可以分为两种:求商和取余 有两个大整数a和b,当a=b时,a/b=1,余数是0.(a!=0,b!=0): 当a>b时,a/b>=1,余数需要通过计 ...

  9. hdu4506小明系列故事——师兄帮帮忙 (用二进制,大数高速取余)

    Problem Description 小明自从告别了ACM/ICPC之后,就開始潜心研究数学问题了,一则能够为接下来的考研做准备,再者能够借此机会帮助一些同学,尤其是美丽的师妹.这不,班里唯一的女生 ...

最新文章

  1. Kafka 2.8.0发布,与ZooKeeper正式分手!
  2. Java实现堆排序及详细图解
  3. php中if的效率,PHP中if和or运行效率对比
  4. 【C#】VS2012+InstallShield2013制作软件更新包
  5. 暑期项目经验(九) -- request session application
  6. 10.8.8.8柠檬wifi网页登录_基于企业邮箱进行wifi实名认证的方案
  7. sysctl mysql_Sysctl
  8. 《ArcGIS Runtime SDK for .NET开发笔记》--在线编辑
  9. php框架中数据库模型层原理,简单模拟ThinkPHP框架模型层对数据库的链式操作-Go语言中文社区...
  10. h264码流文件通过计算first_mb_in_slice区分帧边界
  11. 不使用手机代理,进行手机抓包
  12. iris流程图_IRIS项目管理流程
  13. [生存志] 第11节 历代大事件概览 春秋
  14. 秋天的第一杯奶茶刷屏互联网,其背后又蕴含着哪些营销逻辑呢?
  15. gensim w2v 使用记录
  16. 2019年Java大厂面试题讲解(周阳) 之Github学习(自学路上助推器)
  17. 2022数据库系统工程师 下午 试题三 真题答案
  18. 谷歌浏览器占CPU非常高的解决办法
  19. caffe创建网络_Caffe2-创建自己的网络
  20. 魔兽世界自建服务器,魔兽世界怀旧服服务器选择 选哪个服务器好

热门文章

  1. win10 uwp 打开文件管理器选择文件
  2. android 群控 网络 adb,逍遥安卓模拟器群控源码
  3. 计算机设备维护保养和网络巡检,弱电设备的维护保养及巡检管理制度
  4. 【html】关于doctype
  5. Windows安装配置Python Scrapy环境
  6. Tesseract-ocr识别中文并训练字库操作指南
  7. 8021什么意思_违章代码8021是什么意思
  8. php内容管理系统 admini,BageCMS 开源网站内容管理系统 php版下载_BageCMS 开源网站内容管理系统 php版官方下载-太平洋下载中心...
  9. Halcon学习(一) 初识Halcon HDevelop下载安装
  10. 推荐6款非常实用的工具,你用过几款呢?