素因子去重

问题描述
  给定一个正整数n,求一个正整数p,满足p仅包含n的所有素因子,且每个素因子的次数不大于1
输入格式
  一个整数,表示n
输出格式
  输出一行,包含一个整数p。
样例输入
1000
样例输出
10
数据规模和约定
  n<=10^12
  样例解释:n=1000=2^353,p=2*5=10
思路分析:
依题可知,要把n分解成几个数相乘并且是素数,出现的次数最多为1次,如果出现多次,就把多余的去掉,然后把这些素因子相乘即可得到结果p.我们要注意n是小于等于10^12(大于2的32次方),已经超过了int 类型的范围,所以要用__int64来定义变量
C语言实现:

#include<stdio.h>
int main()
{__int64 n,i,p=1;int j,k,flag;//flag是一个标志,表示n是否能被整除,0代表不能       被整除,1代表能被整除__int64 a[50]={0};//用来放求得的因数j=0;flag=0;//初始化为0,表示不能被整除scanf("%I64d",&n);//注意64位的输入格式为:%I64di=2;while(i<=sqrt(n))//i是否小于根号n{if(n%i==0)//n能被i整除{a[j]=i;//因为n能被i整除,i是n的一个因数n=n/i;//为下一次循环做准备j++;flag=1;//修改flag的值为1,表示n被整除了}i++;if(flag){i=2;//flag为1,n要重新从i=2求余flag=0;}}
//下面是去重,把相同的留下一个,其他的设为0       for(i=0;i<j-1;i++){for(k=i+1;k<j;k++)if(a[i]==a[k])a[k]=0;}
//计算p的结果,把不等于0的元素相乘for(i=0;i<j;i++)if(a[i]!=0)p=p*a[i];printf("%I64d",p);  //注意:打印输出格式为:%I64dreturn 0;
}

以下是测试的数据:533 533
6021 669
1911 273
770518 770518
887244 443622
79561585 79561585
80189196 40094598
81095240 20273810
1822020238 1822020238
18374001125 734960045
一开始忘记了n的范围,用的是int类型,前9组数据通过了,但第10组没过之后把int改成__int64就通过10组的测试

有什么不懂得地方,欢迎留言,一起进步@__@

蓝桥算法训练之素因子去重相关推荐

  1. 【蓝桥杯官网试题 -算法训练】素因子去重(数学,数论,因子约数)

    题干: 问题描述 给定一个正整数n,求一个正整数p,满足p仅包含n的所有素因子,且每个素因子的次数不大于1 输入格式 一个整数,表示n 输出格式 输出一行,包含一个整数p. 样例输入 1000 样例输 ...

  2. 状态压缩初探(包含蓝桥算法训练 和为T,牛客 csl的校园卡)

    在做题的时候,内存总是限制着我们.如果有一些数据的状态需要你标记或者记录,数据很小都好解决,直接记录就行,但是如果数据过大,内存就会超限,又如何解决呢?这个时候就可以采用状态压缩. 状态压缩并不是指某 ...

  3. 蓝桥 算法训练 P0505

    一个整数n的阶乘可以写成n!,它表示从1到n这n个整数的乘积.阶乘的增长速度非常快,例如,13!就已经比较大了,已经无法存放在一个整型变量中:而35!就更大了,它已经无法存放在一个浮点型变量中.因此, ...

  4. 蓝桥 算法训练 藏匿的刺客(C语言)

    资源限制 内存限制:256.0MB   C/C++时间限制:1.0s   Java时间限制:3.0s   Python时间限制:5.0s 问题描述 强大的kAc建立了强大的帝国,但人民深受其学霸及23 ...

  5. 蓝桥算法训练 学做菜 JAVA

    问题描述 涛涛立志要做新好青年,他最近在学做菜.由于技术还很生疏,他只会用鸡蛋,西红柿,鸡丁,辣酱这四种原料来做菜,我们给这四种原料标上字母A,B,C,D. 涛涛现在会做的菜有五种: 1. 西红柿炒鸡 ...

  6. 蓝桥算法训练 藏匿的刺客[Java]

    问题 资源限制 内存限制:256.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s 问题描述 强大的kAc建立了强大的帝国,但人民深受其学霸及23文化的 ...

  7. 蓝桥算法训练 未名湖边的烦恼 JAVA

    资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 每年冬天,北大未名湖上都是滑冰的好地方.北大体育组准备了许多冰鞋,可是人太多了,每天下午收工后,常常一双冰鞋都不剩. 每天早上,租鞋窗 ...

  8. 算法训练 素因子去重

    算法训练 素因子去重 时间限制:1.0s 内存限制:256.0MB 问题描述 给定一个正整数n,求一个正整数p,满足p仅包含n的所有素因子,且每个素因子的次数不大于1 输入格式 一个整数,表示n 输出 ...

  9. python【蓝桥杯vip练习题库】ALGO-190素因子去重(数论 递归)

    试题 算法训练 素因子去重 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 给定一个正整数n,求一个正整数p,满足p仅包含n的所有素因子,且每个素因子的次数不大于1 输入格式 一个整 ...

最新文章

  1. mysql的多表操作_Mysql-多表连接的操作和用法
  2. 一致性协议算法-2PC、3PC、Paxos、Raft、ZAB、NWR超详细解析
  3. Android中使用running services查看service进程内存
  4. 什么是滚雪球法的抽样方法?(Snowball sampling、snowballing approach)
  5. 弹性计算双周刊 第7期
  6. Java数据校验(Bean Validation / JSR303)
  7. java 读取文件内容 实例_Java 实例 – 读取文件内容 - Java 基础教程
  8. 4 网络、挂载、关机
  9. HTTP和HTTPS的请求和响应
  10. python做前端mongodb_Python爬虫之mongodb和python交互
  11. Linux有问必答:如何在树莓派上安装USB网络摄像头
  12. 斜齿轮重合度计算公式_斜齿圆柱齿轮的特点?基本参数和斜齿轮的重合度是什么?...
  13. 计算机考研复试问题汇总(408+计算机前言知识)
  14. Linux下测试sdio,浅析Linux下sdio接口对sd卡硬件检测流程
  15. iconfont-阿里巴巴矢量图标库在layui中的使用
  16. 基于形状图像检索的曲率尺度空间描述符与傅立叶描述子的比较研究——18.07.14
  17. uboot mmc 命令 read write 说明
  18. P4043 [AHOI2014/JSOI2014]支线剧情(有源汇上下界最小费用可行流)
  19. 【Pygame小游戏】神还原【欢乐无穷的双人坦克大战】小程序游戏,上手开玩~(附完整源码)
  20. 如何做一个基于JAVA二手交易网站系统毕业设计毕设作品(springboot框架)

热门文章

  1. hadoop之旅8-centerOS7 : Hive的基本操作
  2. 为何要转换为GERBER文件交PCB厂制板
  3. 斯皮格尔:我们敢于采纳非常疯狂的创意
  4. 盛世昊通国际控股成功登陆美国纳斯达克,迈入国际舞台
  5. 射频器件在电路中的分类
  6. 云师大计算机考研考什么,云南师范大学研究生院,云师大考研复试好难啊。
  7. OA系统定制化,企业办公管理需求的新趋势
  8. 【干货】生成对抗网络GANs算法在医学图像领域应用总结
  9. 常见的IEEE802系列中的协议
  10. Android 仿微信朋友圈拍小视频上传到服务器(转)