对3 5 7 取不同模的结果
来源:互联网 发布:同花顺金融数据录入 编辑:程序博客网 时间:2024/06/05 00:22
题目:
x%3==2,x%5==1,x%7==3;
满足题意的最小x的值:
那么首先
将3*5*7=105;
即他们之间的最小公倍数;
(3*5*7)/3=35;即满足条件最小值中可以把3取模为2的质因数之一是:35
但是它要满足有个前提条件:
35%3==2判断它符不符合是三个数中能够对3取模是2;
同理:
(3*5**7)/5=21;
21%5==1;即满足条件最小值中可以把5取模为1的质因数之一是:21
(3*5*7)/7=15;
15%7==1;发现结果不是我们想要的3;所以我们在两边同时乘上一个3即可;
(15*3)%7==1*3;所以满足把7取模为3的质因数之一是45;
所以三个数综合一下:35+21+45=101既是满足题目的最小值;
那么,我们可以把题目扩展一下;
问:1-1000之间的数满足条件的有哪些?
那么,我们不难发现满足条件最小的那个数+最小公倍数=第二个满足条件的数;
依次加下去就可以;
这里我列举1~500;
101 101+105=206 206+105=311 311+105=416
共有101 206 311416 四个数;
我们是不是可以这样推理:三个互质的数是这样的
#include<iostream>#include<string>#include<cstring>using namespace std;int check(int vl,int mo,int mvl){ if(vl%mo==mvl) return vl; return vl*mvl;}int main(){ int t,a,b,c;//分别表示:对3 5 7取模后的余数; cout<<"input you want to test numbers:"<<endl; cin>>t; while(t--) { cout<<"输入三个模:"<<endl; cin>>a>>b>>c; int ming=3*5*7; int num1=check(ming/3,3,a); int num2=check(ming/5,5,b); int num3=check(ming/7,7,c); int minv=num1+num2+num3; cout<<minv<<endl; }}
阅读全文
0 0
- 对3 5 7 取不同模的结果
- 大数乘法,并对结果取模
- 集合点插入位置不同对测试结果的影响
- 对DragEvent.DRAG_ENTER事件侦听得到不同的结果
- C语言的取模结果
- 阶乘之和(取结果的模)
- 第五周项目三任意输入N显示不同N取值的结果
- 取不同的随机数
- C#中使用SQL语句生成DataTable,对不同的数据库,处理方式不同,返回的结果属性不同
- CultureInfo 不同 ToString 的结果不同
- MySQL中对查询的结果集取交集如何实现?
- 斐波那契数列对10007取余数,求余数的结果
- 最近在研究JVM,总结设置Xmn的值不同对测试结果的影响:
- a的b次方,结果取m的模
- 亲吻女人的不同结果
- Verilog不同编码风格对综合结果有很大的影响
- 使用不同的SVM对iris数据集进行分类并绘出结果
- 【问题解决】使用spring后对一个业务逻辑的不同请求,返回相同结果
- Codeforces Round #429 (Div. 2) | A. Generous Kefa
- 我的个人提升计划
- Java集合-类的继承组合关系
- hdu 6153 A Secret KMP
- 8月19日小结
- 对3 5 7 取不同模的结果
- Java集合-ArrayList深入浅出源码分析
- shell易错点
- NLTK学习之四:文本信息抽取
- shell脚本
- zsh: command not found: conda
- 从u盘启动树莓派3
- IOCP模型与网络编程
- Nginx自签ssl证书