//
爱好数学的国王题目描述Z 国的国王是一个非常爱好数学的国王。一天他对着他的那些大臣说:“素数真是一种神奇的正整数,除了1和它本身外,不能被其他任何正整数整除,2是最小的素数,有无穷多个啊……它还有一个美妙的名字:质数,……数学多么有趣啊……”。
Z 国今年风调雨顺,百姓丰衣足食。为了奖励他那帮管理有方的大臣,他决定把全部的 N 元奖金平均分配给其中的 K 位大臣,但酷爱数学的国王要求这 K 位大臣每人拿到的奖金必须是个素数。哪个大臣能够解决这个数学问题,国王就把奖金给这个大臣和另外的 K-1 人。  大臣们都想自己获得更多的奖金,所以希望分得奖金的大臣人数 K 越少越好。机智的大臣请来了“编程大侠”来帮忙解决这个问题。国王的间谍得知了这个情况后向国王汇报了大臣的行为。国王早就听说“编程大侠”的厉害,于是决定问 T 次这个问题,来试探一下
“编程大侠”的真正实力。输入输入共T+1行。
第1行一个整数T,表示国王问了T次。
接下来T行每行一个整数N,表示国王打算分配给大臣的总奖金。输出输出共T行。
第i行一个整数K,表示最少多少位大臣来平分输入中对应的全部奖金。如果找不到满足国王要求的分配办法,请输出“0”(输出时不包含双引号)。样例输入 Copy3
3
4
100
样例输出 Copy1
2
20
提示国王共问了 3 次。
第一次国王说:“我们总共有 3 元奖金”。“编程大侠”说:“最少分配给 1 位大臣,他可以获得所有奖金,即 3 元,因为 3 是一个素数”。
第二次国王说:“我们总共有 4 元奖金”。“编程大侠”说:“最少分配给 2 位大臣,他们每人可以获得 2 元奖金,因为 2 是一个素数”。
第三次国王说:“我们总共有 100 元奖金”。“编程大侠”说:“最少分配给 20 位大臣,他们每人可以获得 5 元奖金,因为 5 是一个素数”。  50%的测试点输入数据保证 1≤T≤5,1≤N≤10000
70%的测试点输入数据保证 1≤T≤10,1≤N≤1000000000
100%的测试点输入数据保证 1≤T≤10,1≤N≤2000000000  -
//
题意: 找 N 的最大质因子( 记作 factor ) 输出 N / factor 即可//
题解:01  由于测试数据过于大  所以采用  质因子唯一分解定理  优化算法02  ||--如果找不到满足国王要求的分配办法,请输出“0”(输出时不包含双引号)--|| 显然  对于 1   特殊数据  特殊处理03  由于  一个数的质因子分解是唯一的  所以我们采用:除掉所有小于 N 算术平方根的质因子,比较最后结果和所记录的最大质因子并返回

AC代码:

//  爱好数学的国王
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;ll max_prime_factor( ll n )
{ll i,maxf=0;// 除掉所有小于 N 算术平方根的质因子__极大减少循环次数for( i=2;i*i<=n;i++ ){if( n%i==0 ){if( maxf<i ) maxf=i;while( n%i==0 ) n/=i;}}return maxf>n?maxf:n;
}
// eg.
//     3*3*13
//     2  n(3*3*13) % i(2) != 0  continue
//     3  i*i(3*3) < n(3*3*13)   maxf(0) < i(3)  maxf=3
//     4  i*i(4*4) > n(13)       break
//     maxf=3 n=13               return n(13)int main()
{ll t,n;scanf("%lld",&t);while( t-- ){scanf("%lld",&n);if( n==1 ) printf("0\n");else printf("%lld\n",n/max_prime_factor(n));}return 0;
}
/**/

分解质因子代码:

// 分解质因子// 1
#include<bits/stdc++.h>
using namespace std;int main()
{int n,i;cout<<"请输入:";while( cin>>n ){cout<<n<<"=";if( n<2 ) cout<<n;else{for( i=2;i*i<=n;i++ ){while( n%i==0 ){n/=i;cout<<i;if( n!=1 ) cout<<"*";}}// 处理特殊数据if( n!=1 ) cout<<n;}cout<<endl<<"请输入:";}return 0;
}
/**/// 2
#include<bits/stdc++.h>
using namespace std;int main()
{int  n,i,count,flag=0;cout<<"请输入:";cin>>n;cout<<n<<"=";if( n<2 ) { cout<<n; return 0; }for( i=2;i*i<=n;i++ ){if( n%i==0 ){count=0;while( n%i==0 ){n/=i;count++;}// 开头无 '*'if( flag ) cout<<"*";else flag=1;if( count==1 ) cout<<i;else cout<<i<<"^"<<count;}}if( n>1 ) { if( flag ) cout<<"*"; cout<<n; }return 0;
}
/**/

个人见解  酌情采纳.

Contest3115 - 2021级新生个人训练赛第23场_10247 Problem C 爱好数学的国王相关推荐

  1. Contest3121 - 2021级新生个人训练赛第26场_问题 F: 乐乐的数字

    // 问题 F: 乐乐的数字 时间限制: 1.000 Sec 内存限制: 128 MB题目描述 乐乐做完数学作业,突发奇想定义了一种新的数:乐乐数.乐乐把n个数排成一行,一个数的"乐乐数&q ...

  2. [2021.11.19]UPC-2021级新生个人训练赛第4场-19278 Problem D 关门

    题目描述 为了将这些生产的玩具销往海外,晚上江北的玩具公司灯火通明.安安是公司的保安,当所有工作人员离开公司后,他要把公司里所有的门都关闭.房间的门有些是关闭的,有些是打开的.为了察看该公司里所有房间 ...

  3. Contest3145 - 2021级新生个人训练赛第37场_A: 奖品

    // 问题 A: 奖品 时间限制: 1.000 Sec 内存限制: 128 MB题目描述 托塔李天王的三太子那吒,本领高强,他要赶在奥林匹克运动会之际,开一个头脑 奥林匹克比赛,获胜者的奖品就是经过提 ...

  4. 2021级新生个人训练赛第38场

    问题 A: chicken 题目描述 小 x 非常喜欢小鸡翅.他得知 NSC 超市为了吸引顾客,举行了如下的活动: 一旦有顾客在其他超市找到更便宜的小鸡翅,NSC 超市将免费送给顾客 1000g 小鸡 ...

  5. 2021级新生个人训练赛第40场

    问题 A: 多项式输出 题目描述 一元 n 次多项式可用如下的表达式表示: 其中,aixi称为 i 次项,ai 称为 i 次项的系数.给出一个一元多项式各项的次数和系数,请按照如下规定的格式要求输出该 ...

  6. Contest3117 - 2021级新生个人训练赛第24场_问题 E: 打印方阵

    问题 E: 打印方阵 时间限制: 1.000 Sec 内存限制: 128 MB题目描述 下面这样的方阵很有规律,称为蛇形方阵.例如3*3的: 1 2 3 6 5 4 7 8 9 现在给定边长,输出相应 ...

  7. Contest3143 - 2021级新生个人训练赛第36场_B: 数字游戏

    // 问题 B: 数字游戏 时间限制: 1.000 Sec 内存限制: 512 MB题目描述 有一天,小明给佳佳出了一道题, 给出一个正整数n,佳佳可以进行如下三种操作: 1.使n减去1 2.如果n是 ...

  8. Contest3125 - 2021级新生个人训练赛第27场_问题 F: 兔子

    //问题 F: 兔子 时间限制: 1.000 Sec 内存限制: 128 MB题目描述 从左往右有100000001个整数点,分别是整数点0至整数点100000000.有n只兔子,第i只兔子在整数点d ...

  9. 2021级新生个人训练赛第36场

    问题 A: 礼物 题目描述 在一个n×n的网格图上,放置着m个礼物,每个礼物有一个价值vi(1≤i≤m),你可以选择一个礼物,然后选择: (1)取走与它同列的所有礼物,或者(2)取走与它同行的所有礼物 ...

  10. [2022.1.13]UPC-2021级新生个人训练赛第22场-9783 Problem H 铺地砖

    问题 H: 铺地砖 时间限制: 1.000 Sec 内存限制: 128 M 题目描述 一天,晨晨的数学老师布置了一道题目,大意如下:用1×1和2×2的磁砖不重叠地铺满n×3的地板,共有多少种方案? 例 ...

最新文章

  1. python中nlp的库_单词袋简介以及如何在Python for NLP中对其进行编码
  2. matlab小波三维图,matlab小波包变换估计时变功率谱三维图出图和理想不一样
  3. 字符串hash(一)
  4. Easyui 页面访问慢解决方案,GZIP网站压缩加速优化
  5. CSS Lint-线上CSS检测工具 让你的样式表更正确精简
  6. cruzer php sandisk 闪迪u盘量产工具_闪迪u3量产工具下载|
  7. 服务器注册表修复,修复注册表,重连服务器
  8. 5G消息标准版——富媒体消息,打造场景信息沉浸式体验
  9. C语言量化管理系统,任务量化管理系统
  10. 问题 1125: 【C语言训练】委派任务*【最优解】
  11. 如何取消您的Nintendo Switch在线订阅
  12. python建立窗口并美化_Python GUI教程(十六):在PyQt5中美化和装扮图形界面
  13. NBA球员 ESPN前20排名:詹姆斯再居榜首
  14. 计算机网络三网,七律四首(手机、电视、计算机网络、三网融合)
  15. 将bbox注释信息绘制到图片上
  16. 银行外汇资金业务学习笔记(2)当我们在说头寸(position)的时候
  17. maven项目中报错 could not find class that it depends on找不到依赖的问题
  18. GFM(GitHub Flavored Markdown)与标准Markdown的语法区别
  19. C语言题目奶牛牧场,C语言算法训练:安慰奶牛
  20. python主要讲什么意思_python:苗先生从影评上说了什么?,中,看妙,讲,啥

热门文章

  1. 我国医院信息化的现状与发展策略
  2. 理解上下文切换带来的性能影响
  3. 入职美团定级P7,总结2022年最新最全180道高级岗面试题及答案
  4. 美团优选大数据开发岗面试真题-附答案详细解析
  5. Android 自定义View实现拖动滑块完成验证
  6. 大数据可以考哪些证书?
  7. 软件测试的六大测试质量标准
  8. 前后端分离的优势是什么?
  9. 阿里云dataV大屏可视化的使用攻略——vue项目
  10. 书摘—跟鬼谷子学处世 跟菜根谭学修身