基础算法题——奇怪的分式(避免小数运算)

2023-10-27

奇怪的分式

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

1/4 乘以 8/5

小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45 (参见图1.png)

老师刚想批评他,转念一想,这个答案凑巧也对啊,真是见鬼!

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

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

显然,交换分子分母后,例如:4/1 乘以 5/8 是满足要求的,这算做不同的算式。

但对于分子分母相同的情况,2/2 乘以 3/3 这样的类型太多了,不在计数之列!


该题能够直接使用暴力枚举,但是要注意避免小数运算

#include<bits/stdc++.h>
using namespace std;
int ans=0;

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

int main()
{
	for(int i=1; i<10; i++)
	for(int j=1; j<10; j++)
	{
		for(int i1=1; i1<10; i1++)
		for(int j1=1; j1<10; j1++)
		{
			if(i!=j&&i1!=j1)
			{
				int g1 = gcd(i*i1, j*j1);
				int g2 = gcd(i*10+i1, j*10+j1);
				if((i*i1)/g1==(i*10+i1)/g2&&(j*j1)/g1==(j*10+j1)/g2)
				{
//					cout<<i<<"/"<<j<<"*"<<i1<<"/"<<j1<<"="<<
//					i*10+i1<<"/"<<j*10+j1<<"="<<((float)i*10+i1)/((float)j*10+j1)<<endl;
					ans++;
				}
			}
		}
	}
	cout<<ans;
	return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基础算法题——奇怪的分式(避免小数运算) 的相关文章

  • cannot import name ‘gcd’ from ‘fractions’

    cannot import name gcd from fractions 在这里插入图片描述 在3 9
  • 了解GCD

    目录 一 GCD简介 二 GCD好处 三 GCD任务和队列 1 任务 同步执行 xff08 sync xff09 xff1a 异步执行 xff08 async xff09 xff1a 2 队列 串行队列 xff08 Serial Dispa
  • 数论——GCD

    ZOJ Problem Set 3846 题意 xff1a 给 N 个数 xff0c 任取两个数Ai Aj xff0c 求出这两数的GCD xff0c 然后用GCD替换这两个数的值 直至这n个数的值都相等为止 xff0c 此时输出求GCD的
  • 【题解】洛谷P2651 添加括号III(gcd 数学)

    看到是入门难度结果看了半天也不知道啥做法 kkk大神给出了答案 xff0c a1肯定在分子上 xff0c a2肯定在分母上 xff0c 如果我们想让这个式子更有可能化成整数 xff0c 那么a1 a3 a4 an都应该在分子上 xff0c
  • 证明:当gcd(a, b) = 1,则gcd(a + b, a) = 1

    假设 xff1a gcd a b 61 1 证明 xff1a gcd a 43 b b 61 1 反证法 xff1a 假设gcd a 43 b b 61 k 61 1 则 xff1a b 61 k r1 a 43 b 61 a 43 k r
  • 数学方法证明辗转相除法(欧几里得算法):gcd(a,b)=gcd(b,a%b)

    纯数学方法证明辗转相除法 xff08 欧几里得算法 xff09 xff1a gcd a b 61 gcd b a b 1 首先 设gcd a b 61 gcd b a b 61 d 2 构造k与c 得到a 61 kb 43 c 其中c 61
  • GCD【洛谷P2568】(小左的GCD)

    题目描述 给定整数N xff0c 求1 lt 61 x y lt 61 N且Gcd x y 为素数的数对 x y 有多少对 输入格式 一个整数N 输出格式 答案 输入输出样例 输入 1 复制 4 输出 1 复制 4 说明 提示 对于样例 2
  • GCD->OC

    VHAsyncRun h VHAsyncRun h VHUpload Created by vhall on 2019 11 7 Copyright 2019 vhall All rights reserved typedef void V
  • 天梯题集——冰岛人(隐藏条件:考虑嫡系)

    前文 愿天下有情人都是失散多年的兄妹 与 冰岛人 解题思路几乎是同理的 不过这里需要考虑多一个是否嫡系的关系 卡了我好久 又来一个隐藏条件 长知识 长知识 用递归实现很容易出现超时 循环果然比递归效率高 循环与递归效率的比较 冰岛人 解题难
  • 加速读取——三式(getchar,std::ios::sync_with_stdio(false)、cin.tie(0))

    在一些题目中会出现数据输入很大的情况 如果我们运用不好读取数据工具的话 那么很可能会在读取数据上花费较多的时间 甚至还没读完就超时了 读取速度 cin lt cin 关闭流同步 lt scanf lt getchar cin 关闭流同步 为
  • 最大公约数、最小公倍数、辗转相除法的求解和证明

    两个正整数的最大公约数 Greatest Common Divisor GCD 在计算机中通常使用辗转相除法计算 最小公倍数 Least Common Multiple LCM 可以使用GCD来计算 下面首先介绍GCD和LCM 然后介绍辗转
  • 使用GCD处理后台线程和UI线程的交互(转自唐巧的技术博客)

    使用GCD FEB 22ND 2012 什么是GCD Grand Central Dispatch GCD 是Apple开发的一个多核编程的解决方法 该方法在Mac OS X 10 6雪豹中首次推出 并随后被引入到了iOS4 0中 GCD是
  • 扩展欧几里得算法

    扩展欧几里得算法是啥 那就要先知道什么是欧几里得算法 欧几里得算法 扩展欧几里得算法是欧几里得算法的推广 利用欧几里得算法的思想和递归求得贝祖等式a x b y gcd a b 不定方程中的一组x和y的解 原理如下 设a gt b 当b 0
  • 一个奇怪的GCD内存不释放的问题

    这个问题是我的同学提出来的 原帖在http bbs csdn net topics 390933411 大概是这样 pre class objc IBAction touchToCreateThread id sender int i 10
  • 最大公约数GCD

    输入2个正整数A B 求A与B的最大公约数 Input2个数A B 中间用空格隔开 1 lt A B lt 10 9 Output输出A与B的最大公约数 Sample Input 30 105 Sample Output 15 includ
  • 天梯题集——愿天下有情人都是失散多年的兄妹(隐藏条件)

    愿天下有情人都是失散多年的兄妹 解题思路 利用结构体读入每个 ID 下数据 隐藏条件 标记父母的性别 卡死个人 假设判断 a b 是否可通婚 同性输出 Never Mind 不同性 bfs标记 a 的五代内的祖先 check检查 b 五代内
  • 最大比例

    题目描述 解析 接下来就是求解k和p的过程 在这道题中很难使用欧几里得算法就求解最大公约数 因此尝试使用另一种方法 更相减损术 循环相减法 如果要使用欧几里得算法的话 就需要开一个非常复杂的根号 非常难算 代码 include
  • Two Divisors【GCD数论】

    You are given nn integers a1 a2 ana1 a2 an For each aiai find its two divisors d1 gt 1d1 gt 1 and d2 gt 1d2 gt 1 such th
  • 基础算法题——帅到没朋友(唯一性)

    帅到没朋友 当芸芸众生忙着在朋友圈中发照片的时候 总有一些人因为太帅而没有朋友 本题就要求你找出那些帅到没有朋友的人 输入格式 输入第一行给出一个正整数N 100 是已知朋友圈的个数 随后N行 每行首先给出一个正整数K 1000 为朋友圈中
  • iOS线程初探(四) GCD 和 NSOperation 小结

    参考资料 关于iOS多线程 看我就够了 GCD 在GCD中 有两个概念很重要 那就是任务和队列 任务 其实就是你需要做的事情 一个Block而已 任务有两种执行方式 同步执行和异步执行 同步执行 会阻塞当前线程 直至该任务执行完成后当前线程

随机推荐

  • web信息收集

    title 信息收集 tags null categories 信息收集 null date 2021 03 20 18 40 54 keywords top img cover updated sticky description cop
  • 用 request请求对象 获取请求头里的 信息

    1 根据请求头名称获取一个值 String connection request getHeader connection System out println connection System out println getHeader
  • 8个重构技巧使得Python代码更Pythonic

    1 合并追加到列表声明 我们从一个简单的开始 不是声明一个空列表然后附加到它 而是直接用所有元素初始化列表 这缩短了代码并使意图更加明确 它的性能也稍微好一些 因为它避免了对 append 的函数调用 这同样适用于填充其他集合类型 如集合和
  • Angular4.0_开发准备

    启动Angular过程介绍 启动时加载了哪个页面 启动时加载了哪些脚本 这些脚本做了什么事 默认情况下是index对应的文件是启动时加载的页面 main ts是启动时的起点文件 main ts 核心模块提供的enableProdMode用来
  • 多媒体指令(灰度像素最大值)

    如果不是处理的灰度图像 那么最大值也就没什么意思了 彩色图也可以转成灰度图嘛 虽然用了汇编 不过没有使用多媒体指令 灰度图像的RGB都一样 没必要使用mmx寄存器了 直接对单个字节处理就行了 获得最小值和获得最大值原理一样 只需改一个指令
  • 基础指南 之 归并排序

    归并排序 两个有序数组的归并 数组 a 和数组 b 都是非降序的数组 数组长度分别为 m 和 n 将两个数组合并成一个升序数组 c 程序如下所示 void merge int a int m int b int n int c int i
  • com.rabbitmq.client.ShutdownSignalException: connection error;连接rabbitMQ失败

    com rabbitmq client ShutdownSignalException connection error 连接rabbitMQ失败 大概率原因是权限不足 rabbitmqctl set permissions p admin
  • 51单片机-LED篇

    目录 准备工作 点亮一个LED灯 写程序 烧录 LED闪烁 延时代码Delay500ms 烧录 LED流水灯 代码 对LED流水灯代码进行优化 增加复用性 延时代码 代码 准备工作 使用到的单片机是普中51单片机 使用到的软件是Keil u
  • 写作副业怎么弄?写文章的副业应该怎么做?

    现在越来越流行 斜杠青年 这个词了 人们总是希望在做好本职工作的基础上 还能够有另外一份获取收入的工作 也就是 副业 而在 副业 的众多选项里 很多人都看好 写作 这一项 但是 当我们普通人想要开启写作之路 赚取副业收入的时候 具体应该怎么
  • 用户友好性检测

    我们一般通过三个指标来检验一个网站是否对于用户友好 这三个指标分别是 链接的可用性 访问速度体验和查找信息的便捷度 一 链接的可用性 试想 一个访问者来到你的网站 点击一个超级链接 却发现浏览器只返回一个错误404 页面 如果网页中不可用链
  • Unity3D 引擎学习2022资料整理(二)

    Utils C APR Apache Portable Runtime 另一个跨平台的实用函数库 Apache2 0 官网 C Algorithms 一个常用算法和数据结构的集合 官网 CPL The Common Pipeline Lib
  • edge浏览器受信任_Edge 浏览器如何添加信任站点

    Microsoft Edge 无法添加信任站点 组策略没有批量设置 只能逐条设置 然后从DC推到所向域内客户端 如果你是用Site to Zone Assignment List Enabled策略或来设置信任站点的话 客户端确实无法手动添
  • OpenHarmony之docker容器的基本用法

    Docker使用示例 docker移植至OpenHarmony的过程可参考 https blog 51cto com u 14601312 5692202 下面以rk3568 OpenHarmony为例 介绍一下如何进行容器制作 导入及使用
  • 一招解决报错:pyassimp.errors.AssimpError: assimp library not found

    文章目录 1 问题描述 2 原因分析 3 解决方法 1 问题描述 在使用pip install pyassimp安装pyassimp库后 调用时会出现错误 File root anaconda3 envs kgn lib python3 8
  • qt5.12.10 在linux(国产系统)的源码编译、移植问题记录

    1 概述 Qt版本 Qt5 12 10 Qt 官网下载地址 Qt官网 路径 Qt5 12 10源码目录目录下下载 qt everywhere src 5 12 10 tar xz 编译平台 方德 其余架构亦可考 2 编译源码记录 1 下载源
  • Flutter 最常出现的错误

    哔哩哔哩漫画APP实践Flutter也有大半年时间了 我针对线上收集到的错误进行分析 挑选出了一些有一般代表性的错误 列在本文 可供实践 Flutter 的初学者们作为一点参考 典型错误一 无法掌握的Future 典型错误信息 NoSuch
  • spring boot 实现注解+自定义配置多数据库

    spring boot 实现注解 自定义配置多数据库 配置多数据库 注解 AOP maven依赖 多数据源配置 代码实现 存在问题 配置多数据库 注解 AOP 你好 这是你第一次使用 Markdown编辑器 所展示的欢迎页 如果你想学习如何
  • shell编程(六) : [shell基础] 基本shell脚本

    接上一篇文章Linux shell编程 五 Linux文件权限管理 三 Linux shell 脚本编程基础 了解了Linux系统和命令行的基础知识 是时候开始编程了 3 1 基本shell脚本 shell脚本的关键在于输入多个命令并处理每
  • Google-Guava-EventBus源码解读

    Guava是Google开源的一个Java基础类库 它在Google内部被广泛使用 Guava提供了很多功能模块比如 集合 并发库 缓存等 EventBus是其中的一个module 本篇结合EventBus源码来谈谈它的设计与实现 概要 首
  • 基础算法题——奇怪的分式(避免小数运算)

    奇怪的分式 上小学的时候 小明经常自己发明新算法 一次 老师出的题目是 1 4 乘以 8 5 小明居然把分子拼接在一起 分母拼接在一起 答案是 18 45 参见图1 png 老师刚想批评他 转念一想 这个答案凑巧也对啊 真是见鬼 对于分子