蓝桥杯Problem B: 奇怪的分式
来源:互联网 发布:java线程池框架 编辑:程序博客网 时间:2024/05/16 12:51
问题及代码:
Submit: 1142 Solved: 541
[Submit][Status][Web Board]
Problem B: 奇怪的分式
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 1142 Solved: 541
[Submit][Status][Web Board]
Description
上小学的时候,小明经常自己发明新算法。一次,老师出的题目是:
1/4 乘以 8/5
小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45 (参见图1.png)
老师刚想批评他,转念一想,这个答案凑巧也对啊,真是见鬼!
对于分子、分母都是 1~9 中的一位数的情况,还有哪些算式可以这样计算呢?
请写出所有不同算式的个数(包括题中举例的)。
显然,交换分子分母后,例如:4/1 乘以 5/8 是满足要求的,这算做不同的算式。
但对于分子分母相同的情况,2/2 乘以 3/3 这样的类型太多了,不在计数之列!
请输出所有满足小明新算法的分式组合,以及这类分数组合的个数。
Input
没有输入
Output
请输出所有满足小明新算法的分式组合,以及这类分数组合的个数。
Sample Output
1/2 5/41/4 8/51/6 4/31/6 6/4...9/4 8/9n
#include <stdio.h>int gcd(int m,int n)//求最大公约数{ int t; if(m<n) { t=m; m=n; n=t; } while(m%n!=0) { t=m%n; m=n; n=t; } return n;}int main(){ int a,b,c,d; int m,n,p,q; int i,j; int count=0; for(a=1;a<=9;a++) { for(b=1;b<=9;b++) { if(a==b) continue; for(c=1;c<=9;c++) { for(d=1;d<=9;d++) { if(c==d) continue; m=a*c; n=b*d; p=a*10+c; q=b*10+d; i=gcd(m,n);//求最大公约数 j=gcd(p,q); m/=i; n/=i; p/=j; q/=j; if(m==p&&n==q)//约分后是否相等 { printf("%d/%d %d/%d\n",a,b,c,d); count++; } } } } } printf("%d\n",count); return 0;}
此题需要注意的就是约分,即求最大公约数。
约分后才可判断是否相等.
0 0
- 蓝桥杯Problem B: 奇怪的分式
- Problem C: 奇怪的分式
- 奇怪的分式 蓝桥杯
- 【蓝桥杯】:奇怪的分式
- 蓝桥杯 奇怪的分式
- 奇怪的分式 蓝桥杯
- 蓝桥杯 奇怪的分式
- 【蓝桥杯】【奇怪的分式】
- 2014蓝桥杯B组初赛试题《奇怪的分式》
- 蓝桥杯JAVA语言B组_奇怪的分式
- 蓝桥杯 历届试题 奇怪的分式
- 蓝桥杯 历届试题 奇怪的分式
- 蓝桥杯题目7奇怪的分式
- 蓝桥杯 历届试题 奇怪的分式
- 奇怪的分式
- 奇怪的分式
- 奇怪的分式
- 奇怪的分式
- 结构体在内存中的对齐规则
- laravel HTTP ERROR 500
- 常用命令三:内存【free】
- java-servlet
- 包学会之浅入浅出Vue.js:升学篇
- 蓝桥杯Problem B: 奇怪的分式
- Python高级编程(五)XML解析
- wifi判断
- 2013蓝桥 第39级台阶
- APK打包 (多渠道打包,美团打包)
- 重复一个指定的字符串 n次
- Android 多渠道打包 Gradle统一依赖管理
- 四大组件 — Service
- 1471 线段