描述

如图在齿轮箱里三个齿轮互相衔接,某瞬间两对齿相遇,问各转多少圈后,这两对齿同时重逢。

输入

输入数据有多组,每组数据一行,每行为3个数a,b,c,分别代表三个齿轮的齿数(均为正整数)。数与数之间用空格隔开。当a,b,c中有一个为0时,输入结束。

输出

输出每组数据中,每个齿轮所转的圈数,用空格隔开。

样例输入

1 1 1
2 2 2
0 0 0

样例输出

1 1 1
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循环的边界,依次枚举,找到最小公约数。

三齿轮问题:三个齿轮啮合相关推荐

  1. 魔方(13)齿轮魔方、五阶齿轮魔方(待续)

    目录 齿轮魔方 1,魔方三要素 2,齿轮分析 3,复原方法 五阶齿轮魔方 1,魔方三要素 2,复原方法(V1) (1)复原角块和侧边区中棱 (2)复原中心区棱块 (3)复原中心区角块 (4)复原侧边区 ...

  2. 软件测试工程师和WGT,三坐标和齿轮测量中心测齿轮的区别

    对于齿轮测量,很多厂家都面临着选择专用的测量测量中心还是三坐标进行测量,两者间的区别主要如下: 1:原理上的区别 齿轮机测齿轮通过电子展长的方法进行测量:三坐标测量机是通过建立齿面数据模型的方式进行测 ...

  3. 【C语言探索之旅】第三部分第三课:SDL开发游戏之显示图像

    内容简介 1.第三部分第三课: SDL开发游戏之显示图像 2.第三部分第四课预告: SDL开发游戏之事件处理 第三部分第三课:SDL开发游戏之显示图像 上一课中,我们学习了如何加载SDL库(SDL_I ...

  4. 正弦定理和余弦定理_那些让你加快解题速度的高中数学公式-26 利用三正弦、三余弦定理快速解题...

    作者:本质教育 韦卓甫 简单的题目做得又快又对 对于任何考试(例如高考),本质教育有一条重要的原则: 那些考试拿高分的,一定是简单的题目做得又快又对,这样他们才有时间去思考难题. 因此,适当地掌握一些 ...

  5. c语言学习-输入三个数求三个数中的最大数

    自定义函数,通过函数调用直接找最大数,输入三个数求三个数中的最大数 程序流程图: 代码: #include<stdio.h> double ma(double l,double m,dou ...

  6. JavaScript学习 第三课(三)

    JavaScript学习 第三课(三) 学习内容 一.日期和时间对象 二.日期和对象常用的方法 三.修改日期和对象常用的方法 四.将日期和时间转化为字符串 五.日期时间对象的比较 一.日期和时间对象 ...

  7. 六级词汇打卡第三天(三)

    六级词汇打卡第三天(三) 六级虐我千万遍,我待六级如初恋,跟着康哥学英语,一定能过上无比奢华糜烂的生活 第三天词汇打卡如下: 本期结束,我们下期再见!

  8. 三周第三次课(12月27日)

    三周第三次课(12月27日) 3.7 su命令 su 切换用户 whoami id su -aming su aming 切换用户,但是没有切换家目录 su - -c "touch /tmp ...

  9. 2022中元节前后几天不出门?前三天后三天不能出门是真的吗?

    随着中元节的临近,在民间所流传的一些习俗也受到大家的关注,部分地区在中元节前后几天有不出门的说法,那中元节前后几天不出门?前三天后三天不能出门是真的吗? 一.2022中元节前后几天不出门? 中元节前3 ...

  10. 6.17 C语言练习(百钱百鸡问题:中国古代数学家张丘建在他的《算经》中提出了著名的“百钱买百鸡问题”:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁、母、雏各几何?)

    [练习] 题目要求:中国古代数学家张丘建在他的<算经>中提出了著名的"百钱买百鸡问题"鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁.母.雏各几何? ...

最新文章

  1. linux python虚拟环境 相关的
  2. Linux下crontab(自动重启)的格式备忘
  3. 完成MSP430的IAP升级程序(总结)
  4. 【做题记录】[NOIP2011 提高组] 观光公交
  5. 记录一次 自建网盘程序 cloudreve被攻击
  6. 轻松学习理解ACL访问控制列表(转)
  7. LDA-math-认识Beta/Dirichlet分布
  8. 一看就懂:正则表达式
  9. isupper函数python_python字符串是否是大写-python 字符串大写-python isupper函数-python isupper函数未定义-嗨客网...
  10. 大数据平台开发公司有哪些?
  11. 存储器计算机原理实验,存储器扩展实验|计算机原理存储器扩展实验
  12. 弗洛伊德算法(floyd)
  13. html标志着html文档的开始,html标记标志着HTML文档的开始,/html标记标志着HTML文档的结束。...
  14. IOS 自定义软键盘功能,修改换行键为发送键
  15. 【CTSC2016】时空旅行
  16. 如何一键远程开机,远程唤醒功能
  17. python matplotlib 设置画布大小
  18. 微信无法拖拽文件解决办法
  19. 知名影音平台投入朕亨公益!在世界动物日进行义卖关爱动物
  20. The Fundamentals of Commodity Futures Returns(Gary B. Gorton,Fumio Hayashi,K. Geert Rouwenhorst)

热门文章

  1. 医院PACS系统的发展历史
  2. 如何建word文档目录时,自动生成的目录正文从第一页开始
  3. zSpace - Unity Quick Start
  4. 建造者模式浅谈 与工厂模式的区别
  5. GPS卫星授时服务器在DCS集散控制系统应用方案
  6. 二建工程经济电子版_2019二级建造师教材pdf下载电子版
  7. 解决校园Dr客户端端口占用问题(2)
  8. tensorflow2caffe(3) : 如何将tensorflow框架下训练得到的权重转化为caffe框架下的权重参数
  9. 语音翻译中文并不难,我来推荐语音翻译软件哪个好用
  10. 外贸春节放假通知英文模板_可以直接用_最新版