首页 > 编程语言 >蓝桥杯2020年省赛C/C++B组第2题 既约分数

蓝桥杯2020年省赛C/C++B组第2题 既约分数

时间:2025-01-04 22:03:22浏览次数:3  
标签:分数 组第 return gcd int 既约 long 蓝桥 最大公约数

解题思路:本题关键是掌握求最大公约数的方法——辗转相除法,其次就是注意如何减少遍历次数,我们不需要进行完全枚举,因为既然是既约分数,它本身的分子和分母倒过来组成的新的数也是既约分数,我们只需要统计一边即可,将统计完的的结果×2-1便是最终结果(因为1/1倒过来一样,所以要减去这一重复统计的结果)

#include<stdio.h> 
int gcd(int a,int b)//创建一个求最大公约数的函数
{
 if(b==0) return a;//如果余数为零,则返回除数即最大公约数
 else return gcd(b,a%b);//如果余数不为零,就继续递归求最大公约数
}
int main()
{
 long long int ans=0;
 for(int i=1;i<=2020;i++)
 {
  for(int j=1;j<=i;j++)//让j<=i即可,减少遍历次数
  {
   if(gcd(j,i)==1) ans++;//如果最大公约数为1就统计一次
  }
 }
 long long int cnt=ans*2-1;//j/i为既约分数,那么它的倒数i/j也为既约分数,但要把1/1这种重复情况
 printf("%lld\n",cnt);//输出最终结果                                                //减掉
 return 0;  
}

 

 

标签:分数,组第,return,gcd,int,既约,long,蓝桥,最大公约数
From: https://blog.csdn.net/2403_88254028/article/details/144934428

相关文章

  • 2025年第16届蓝桥杯嵌入式竞赛学习笔记(二):点亮LED
    1.新建工程使用第一章配好的STM32CubeMX和Keil52.查看数据书册及图形化配置打开CT117E-M4产品手册查看LED灯的原理图LED的引脚为PC8-PC15,引脚为低电平时LED点亮U1为锁存器,锁存器的使能端PD2为高电平时,LED灯才会被点亮正确点灯步骤:①先PD2输出高电平②PC8-PC15输出低......
  • 第十三届蓝桥杯省赛研究生组python
    目录试题A:工作时长excel处理代码试题B:分糖果试题C:填充试题D:互质数的个数题解:暴力试题E:阶乘的和题解:暴力+备忘录试题F:公因数匹配题解:暴力试题A:工作时长excel处理把数据复制到excel,并选中列右键选择设置单元格格式注意:因为求和之后总小时数可能会超过24小时,不要选择最前面是hh......
  • 蓝桥杯模拟题--小球反弹
    前言今天给大家介绍的题目是,第十五届C\C++B组的第二题。问题描述有一长方形,长为343720单位长度,宽为233333单位长度。在其内部左上角顶点有一小球(无视其体积),其初速度如图所示且保持运动速率不变,分解到长宽两个方向上的速率之比为dx:dy=15:17。小球碰到长方形的边框时会......
  • python蓝桥杯刷题4
    1.好数题解:首先分析题目要求奇数位上的数字是奇数,偶数位上的数字是偶数。开始解题,定义一个count变量为0,输入一个数字,for循环从1开始遍历到n+1,定义一个x作为一会的判断条件,将数字转换为字符串的形式,使用len函数计算出它的长度,作为坐标,坐标是从0开始到num1的长度。根据坐标去判......
  • 洛谷 P8773 [蓝桥杯 2022 省 A] 选数异或 做题记录
    前置芝士:无?思路搜线段树的tag找到了一道非线段树题(因为\(\oplus\)是可逆的,即我们既可以\(a\oplusb=c\)同时也有\(a\oplusc=b\)。那么这启示我们,一个数\(a\)可以匹配的数一定为\(a\oplusx\)。我们用\(lst\)记录每一个元素最后出现的位置,设\(f_i\)为右......
  • P8807 [蓝桥杯 2022 国 C] 取模解题报告
    题目描述给定n,m,问是否存在两个不同的数x,y使得  1≤x<y≤m且nmod x=n mod ⁡y。输入输出样例:输入#13125299999输出#1NoNoYes第一遍代码:#include<bits/stdc++.h>usingnamespacestd;intmain(){intt;cin>>t;for(into=0;o<t;......
  • [蓝桥杯 2013 省 AB] 错误票据
    蓝桥杯,都知道吧 [蓝桥杯2013省AB]错误票据(抱歉是图片形式)Python解决程序n=int(input())ids=[]foriinrange(n):line=list(map(int,input().split()))ids.extend(line)ids.sort()missing=0duplicate=0forjinrange(len(ids)-1):......
  • 蓝桥杯 2016 省赛 四平方和
    题目描述四平方和定理,又称为拉格朗日定理:每个正整数都可以表示为至多4个正整数的平方和。如果把0包括进去,就正好可以表示为4个数的平方和。比如:5=0^2+0^2+1^2+2^2;7=1^2+1^2+1^2+2^2;对于一个给定的正整数,可能存在多种平方和的表示法。要求你对4个数排序:0≤a≤b......
  • 蓝桥杯青少组python编程模拟题
    1、以123为随机种子,随机生成10个介于到999(含)之间的随机数,每个随1(含)机数后跟随一个逗号进行分隔,屏幕输出这10个随机数。  2、请实现以下功能:随机选择手机品牌列表brandlist=’华为’,苹果’,‘诺基亚‘,‘OPPO’,‘小米’中的一个手机品牌,屏幕输出。  3、获得用户......
  • 蓝桥杯 第 24 场 强者挑战赛 题解上(1-3题)
    原题链接https://www.lanqiao.cn/oj-contest/senior-24/   标记名字【算法赛】一条横幅,在1/N,2/N,3/N···(N-1)/N的地方标记一次,若之前标记过这则不用再标记,求f(N)=此时新标记的个数。 上思路读懂题后,重点在于确定该题的思考方向,也就是,新标记的点......