三齿轮问题:三个齿轮啮合
描述
如图在齿轮箱里三个齿轮互相衔接,某瞬间两对齿相遇,问各转多少圈后,这两对齿同时重逢。
输入
输入数据有多组,每组数据一行,每行为3个数a,b,c,分别代表三个齿轮的齿数(均为正整数)。数与数之间用空格隔开。当a,b,c中有一个为0时,输入结束。
输出
输出每组数据中,每个齿轮所转的圈数,用空格隔开。
样例输入
2 2 2
0 0 0
样例输出
1 1 1
方法1:
#include<iostream>
#include<cstdio>
#include<string.h>
#include<queue>
#include<algorithm>
#include<cmath>
using namespace std;
int max_public_num(int s1,int s2)
{if(s1<s2){int tem = s1;s1=s2;s2=tem;}while(s1%s2==0){return s2;}return max_public_num(s2,s1%s2);
}
int min_public_num(int t1,int t2)
{return t1*t2/max_public_num(t1,t2);
}
int main()
{int a,b,c;while(scanf("%d %d %d",&a,&b,&c)){if((a==0)||(b==0)||(c==0))break;int num=min_public_num((a,b),c);printf("%d %d %d\n",num/a,num/b,num/c);}return 0;
}
方法2:
#include <iostream>
#include <cmath>
#include <algorithm>
using namespace std;int main()
{int a[3],b[3];// int x,y,z;int k,s,i;while(cin>>a[0]>>a[1]>>a[2]){b[0]=a[0];b[1]=a[1];b[2]=a[2];if(a[0]==0 || a[1]==0 || a[2]==0){break;}sort(a,a+3);s=a[0]*a[1]*a[2];k=a[2];for(i=k;i<s;i++){if(i%a[0]==0 && i%a[1]==0 && i%a[2]==0)break;}cout<<i/b[0]<<' '<<i/b[1]<<' '<<i/b[2]<<endl;}return 0;
}
这道题初看起来没有头绪,但是只要好好想想就知道了,其实就是求三个数的最小公约数,三个齿轮的个数其实就是那个齿轮的周长,要三个齿轮再次相遇,也就是求三个数的最小公约数,只要想明白了这一点这道题就很容易了,
我用了两种方法来求,第一种是递归,先求出两个数的最小公约数,再两两相求,第二种就是直接求,找到三个数中最大的一个和这三个数的乘积,作为for循环的边界,依次枚举,找到最小公约数。
三齿轮问题:三个齿轮啮合相关推荐
- 魔方(13)齿轮魔方、五阶齿轮魔方(待续)
目录 齿轮魔方 1,魔方三要素 2,齿轮分析 3,复原方法 五阶齿轮魔方 1,魔方三要素 2,复原方法(V1) (1)复原角块和侧边区中棱 (2)复原中心区棱块 (3)复原中心区角块 (4)复原侧边区 ...
- 软件测试工程师和WGT,三坐标和齿轮测量中心测齿轮的区别
对于齿轮测量,很多厂家都面临着选择专用的测量测量中心还是三坐标进行测量,两者间的区别主要如下: 1:原理上的区别 齿轮机测齿轮通过电子展长的方法进行测量:三坐标测量机是通过建立齿面数据模型的方式进行测 ...
- 【C语言探索之旅】第三部分第三课:SDL开发游戏之显示图像
内容简介 1.第三部分第三课: SDL开发游戏之显示图像 2.第三部分第四课预告: SDL开发游戏之事件处理 第三部分第三课:SDL开发游戏之显示图像 上一课中,我们学习了如何加载SDL库(SDL_I ...
- 正弦定理和余弦定理_那些让你加快解题速度的高中数学公式-26 利用三正弦、三余弦定理快速解题...
作者:本质教育 韦卓甫 简单的题目做得又快又对 对于任何考试(例如高考),本质教育有一条重要的原则: 那些考试拿高分的,一定是简单的题目做得又快又对,这样他们才有时间去思考难题. 因此,适当地掌握一些 ...
- c语言学习-输入三个数求三个数中的最大数
自定义函数,通过函数调用直接找最大数,输入三个数求三个数中的最大数 程序流程图: 代码: #include<stdio.h> double ma(double l,double m,dou ...
- JavaScript学习 第三课(三)
JavaScript学习 第三课(三) 学习内容 一.日期和时间对象 二.日期和对象常用的方法 三.修改日期和对象常用的方法 四.将日期和时间转化为字符串 五.日期时间对象的比较 一.日期和时间对象 ...
- 六级词汇打卡第三天(三)
六级词汇打卡第三天(三) 六级虐我千万遍,我待六级如初恋,跟着康哥学英语,一定能过上无比奢华糜烂的生活 第三天词汇打卡如下: 本期结束,我们下期再见!
- 三周第三次课(12月27日)
三周第三次课(12月27日) 3.7 su命令 su 切换用户 whoami id su -aming su aming 切换用户,但是没有切换家目录 su - -c "touch /tmp ...
- 2022中元节前后几天不出门?前三天后三天不能出门是真的吗?
随着中元节的临近,在民间所流传的一些习俗也受到大家的关注,部分地区在中元节前后几天有不出门的说法,那中元节前后几天不出门?前三天后三天不能出门是真的吗? 一.2022中元节前后几天不出门? 中元节前3 ...
- 6.17 C语言练习(百钱百鸡问题:中国古代数学家张丘建在他的《算经》中提出了著名的“百钱买百鸡问题”:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁、母、雏各几何?)
[练习] 题目要求:中国古代数学家张丘建在他的<算经>中提出了著名的"百钱买百鸡问题"鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁.母.雏各几何? ...
最新文章
- linux python虚拟环境 相关的
- Linux下crontab(自动重启)的格式备忘
- 完成MSP430的IAP升级程序(总结)
- 【做题记录】[NOIP2011 提高组] 观光公交
- 记录一次 自建网盘程序 cloudreve被攻击
- 轻松学习理解ACL访问控制列表(转)
- LDA-math-认识Beta/Dirichlet分布
- 一看就懂:正则表达式
- isupper函数python_python字符串是否是大写-python 字符串大写-python isupper函数-python isupper函数未定义-嗨客网...
- 大数据平台开发公司有哪些?
- 存储器计算机原理实验,存储器扩展实验|计算机原理存储器扩展实验
- 弗洛伊德算法(floyd)
- html标志着html文档的开始,html标记标志着HTML文档的开始,/html标记标志着HTML文档的结束。...
- IOS 自定义软键盘功能,修改换行键为发送键
- 【CTSC2016】时空旅行
- 如何一键远程开机,远程唤醒功能
- python matplotlib 设置画布大小
- 微信无法拖拽文件解决办法
- 知名影音平台投入朕亨公益!在世界动物日进行义卖关爱动物
- The Fundamentals of Commodity Futures Returns(Gary B. Gorton,Fumio Hayashi,K. Geert Rouwenhorst)
热门文章
- 医院PACS系统的发展历史
- 如何建word文档目录时,自动生成的目录正文从第一页开始
- zSpace - Unity Quick Start
- 建造者模式浅谈 与工厂模式的区别
- GPS卫星授时服务器在DCS集散控制系统应用方案
- 二建工程经济电子版_2019二级建造师教材pdf下载电子版
- 解决校园Dr客户端端口占用问题(2)
- tensorflow2caffe(3) : 如何将tensorflow框架下训练得到的权重转化为caffe框架下的权重参数
- 语音翻译中文并不难,我来推荐语音翻译软件哪个好用
- 外贸春节放假通知英文模板_可以直接用_最新版