[蓝桥杯-610]分数

题面

解答

这一题如果不知道数论结论的话,做这个题会有两种天壤之别的体验

此题包含以下两个数论知识

1. 2^0+2^1+2^2+...+2^(n-1)=2^n-1

2. 较大的数如果比较小的数的两倍大1或者小1,则两者互质

所以答案就是2^n-1/2^(n-1)

标程1

我的初次解答

cpp 复制代码
#include <bits/stdc++.h>

using namespace std;

typedef long long int ll;
#define endl "\n"
#define maxLine 110
#define long long int ll;

ll num=20;

int main() {
    cout<<(ll)pow(2,20)-1<<"/"<<(ll)pow(2,19);
    return 0;
}

但是感觉好像有点慢

下午我么们来用快速幂优化一下

标程2

使用快速幂优化

cpp 复制代码
#include <bits/stdc++.h>

using namespace std;

typedef long long int ll;
#define endl "\n"
#define maxLine 110
#define long long int ll;


// ll mul(ll a,ll b,ll mod)
// {
//     a %= mod;
//     b %= mod;
//     return (a*b-((ll)((long double)a/mod*b))*mod+mod)%mod;
// }
inline ll ksm(ll a,ll b ){
    ll res=1;
    while(b){
        if (b&1) res*=a;
        b>>=1;
        a*=a;
    }
    return res;
}
int main() {
    cout<<(ll)ksm(2,20)-1<<"/"<<(ll)ksm(2,19);
    return 0;
}

奇怪,优化后的代码空间和时间居然没有任何提升。。。

相关推荐
Yingye Zhu(HPXXZYY)4 小时前
洛谷 P11045 [蓝桥杯 2024 省 Java B] 最优分组
c++·蓝桥杯
CV金科2 天前
蓝桥杯—STM32G431RBT6(IIC通信--EEPROM(AT24C02)存储器进行通信)
stm32·单片机·嵌入式硬件·算法·蓝桥杯
TANGLONG2222 天前
【C语言】数据在内存中的存储(万字解析)
java·c语言·c++·python·考研·面试·蓝桥杯
ya888g2 天前
蓝桥等级考试C++组17级真题-2023-05-21
开发语言·c++·蓝桥杯
SZPU领跑2 天前
第十二届蓝桥杯嵌入式省赛程序设计题解析(基于HAL库)(第一套)
stm32·单片机·算法·职场和发展·蓝桥杯
TANGLONG2222 天前
【C语言】字符和字符串函数(2)
java·c语言·c++·python·考研·面试·蓝桥杯
Tlog嵌入式2 天前
蓝桥杯【物联网】零基础到国奖之路:十六. 扩展模块之矩阵按键
arm开发·stm32·单片机·mcu·物联网·蓝桥杯·iot
奔跑的乌龟_2 天前
第 17 场小白入门赛蓝桥杯
算法·蓝桥杯
Tlog嵌入式3 天前
蓝桥杯【物联网】零基础到国奖之路:十七. 扩展模块之单路ADC和NE555
stm32·单片机·mcu·物联网·蓝桥杯·iot
奔跑的乌龟_3 天前
第18场小白入门赛(蓝桥杯)
算法·蓝桥杯