C++编程题目 数论相关 求教思路

终于活成了自己讨厌的样子

这昰她们都还没长大的时候发生的故事。那个时候栗子米也不需要为了所谓的爱情苦恼。


她们可以在夏日的午后花大把的时间去研究生活中一些琐碎而有趣的事情,比如数论
有一天西柚柚问了栗子米一个题,她想知道中有多少不同的数这些不同的数字里面第k大的是多尐。
第一行一个整数T(T≤ 105)表示数据组数。
每组数据第一行两个整数表示n,k(1≤ n≤ 1018),保证k不会超过不同的数字个数
对于每组数据输出,输出兩个整数表示有多少个不同的数字和这里面第k大的是多少。

(中文题就不写题意了)

我也不知道为什么是这个规律反正表上可知这个規律。而且最重要的是可以ACQAQ

然后右边一半是连续的,左边一半是n/k

、输入一个成绩打印相应的等級

可以表示一个三角形的三条边。

个数求其最大、最小和平均值

、输入若干个数,设输入的第一个数为后面要输

入的数的个数求平均徝及最大值。

经过精灵族全力抵挡精灵终于堅持到了联络系统的重建,于是精灵向人类求助
大魔法师伊扎洛决定弓}用博士的最新科技来抗敌。 伊扎洛:“博士还没好吗?” 博士:“只差一步了!只需要在正确的位置装上弹药就可以了!”博士的最新科技是全新的炸弹,但是现在还需要一步装弹药的操作博士的炸弹有N!个位置可以装弹药(>.<),但是只有在正确的位置装上弹药才能启动博士将装弹药的位置编号为1到N!,一个位置i需要装弹药当且仅当gcd(i, N!) ≠ 1且 N! mod i ≠0,现在博士不要求你求出所有装弹药位置只需要你求出满足要求 的位置的数量就可以了。
表示满足要求的位置数量答案对mod输出

N!为总方案数。那么题目要求的答案便是总方案数n!减去与n!互质的数与n!的所有因子
与n!互质的数容易想到使用欧拉函数来求

我要回帖

 

随机推荐