ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

【蓝桥杯】真题训练 2014年C++B组 题6 奇怪的分析

2021-04-04 09:58:07  阅读:170  来源: 互联网

标签:分子 真题 int C++ 乘以 蓝桥 算式 答案 分母


奇怪的分析

标题:奇怪的分式

上小学的时候,小明经常自己发明新算法。-次,老师出的题目是:

1/4乘以8/5

小明居然把分子拼接在一起, 分母拼接在一起, 答案是: 18/45 (参 见图1. png)老师刚想批评他,转念-想, 这个答案凑巧也对啊,真是见鬼!

对于分子、分母都是1-9中的一位数的情况, 还有哪些算式可以这样计算呢?

请写出所有不同算式的个数(包括题中毕例的)。

显然,交换分子分母后,例如: 4/1乘以5/8 是满足要求的,这算做不同的算式。但对于分子分母相同的情况,2/2 乘以3/3这样的类型太多了,不在计数之列!

注意:答案是个整数(考虑对称性,肯定是偶数)。请通过浏览器提交。不要书写余的内容。

答案:14

 

题目解析

 枚举

#include <iostream>
using namespace std;

int res;

int gcd(int a, int b){
	if(b == 0){
		return a;
	}
	return gcd(b, a%b);
}

int main(int argc, char** argv) {
//	cout << gcd(12, 16) << endl;
/*
	 a	   c      a*c     a*10 + c
	--- x --- =  ----- = ----------
	 b 	   d	  b*d	  b*10 + d
	
*/	
	for(int a = 1; a < 10; a++){
		for(int b = 1; b < 10; b++){
			if(b == a){
				continue;
			}
			
			for(int c = 1; c < 10; c++){
				for(int d = 1; d < 10; d++){
					if(c == d){
						continue;
					}
					int g1 = gcd(a*c, b*d);
					int g2 = gcd(a*10+c, b*10+d);
					if(a*c / g1 == (a*10+c)/g2 && b*d / g1 == (b*10+d)/g2){
						cout << a << " " << b << " " << c << " " << d<< endl;
						res ++;
					} 
				}
			}
		}
	}
	
	cout << res << endl;
	
	return 0;
}

标签:分子,真题,int,C++,乘以,蓝桥,算式,答案,分母
来源: https://blog.csdn.net/weixin_44566432/article/details/115425287

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有