- 博客(3)
- 收藏
- 关注
原创 寻找各位数和为5倍数问题
题目描述 计算1到n之间(包括n在内)有多少个数其各位数字和能被5整除,输出个数,n由键盘输入。 输入 10 输出 1 解法 首先对于任意数字a,一定有0~9中两个数与a相加能够得到5的倍数,例如对于数‘59’,有1和6与其相加能够得到5的倍数。 那么对于一个数k,除去其个位数后得到数b = k // 10,则从0到b-1中的每一个数字都有0~9中两个数字作为个位数与其组成后得到各位数和为5倍数。而对于取b时需要进行特判,因为与之相加的个位数不能取超过原先k个位数的数字。 例如对从
2022-04-02 06:26:40
862
原创 判断素数问题(费马小定理,蒙哥马利模幂)
题目描述 给定多个大于 1 的整数,判断是否为素数 输入 输入多行,每行是一个大于 1 的整数或字母 q 输出 对于每一行输入: 如果该行是正整数,那么输出一行,输出内容为 T 或 F,代表这个正整数是或不是素数; 如果该行是字母 q,则退出程序 样例输入 8888 123 29 q 样例输出 F F T 解法 对待判断数p,取几个素数a验证a^(p-1)与1模p同余,根据费马小定理若不同余,则p为合数,因此通过多取不同的素数进行检验能够极大概率保证准确率。 而同时使用蒙哥马
2022-04-02 06:03:23
828
原创 韩信点兵问题(中国剩余定理)
题目描述 相传韩信将军才智过人,从不直接清点自己军队的人数,只要让士兵先后以三人一排,五人一排,七人一排的变换队形,而他每次只掠一眼队伍的排尾就知道总人数了。输入包含多组数据,每组数据包含三个非负整数a,b,c,表示每种队形排尾的人数(a<3,b<5,c<7),输出总人数的最小值(或者报告无解)。已知总人数不小于10,不超过100。 输入 输入包含多组数据,每组一行三个整数a,b,c 输出 输出每行对应的总人数的最小值,若无解则输出“No answer” 样例输入 2 1
2022-04-02 05:40:05
1128
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅