简单题之数字总结

1.求数的幂

考点:二分幂(快速幂)的应用
思路:
直接暴力会超时,因此我们考虑用递归实现
如何用递归实现?
二分幂:对我们的幂次数分情况考虑:
1.M=0,return 1;
2.M为奇数时,即M%2!=0,底数不断累乘取模
3.否则,M为偶数,对其折半转成奇数,累乘取模
在这里插入图片描述

#include <iostream>
using namespace std;
const int maxn=1e5+10;
long long  n,N,M,P;
int res[maxn];//  如何用递归实现?
//N,M,P数比较大,考虑用Long型装
long long binary(long long a,long long b,long long c){// 1.M=0,return 1;if(b==0) return 1;// 2.M为奇数时,即M%2!=0,底数不断累乘取模else if(b%2!=0)return a*binary(a,b-1,c)%c;// 3.否则,M为偶数,对其折半转成奇数,累乘取模else return binary(a,b/2,c)*binary(a,b/2,c)%c;
}  int main()
{int len=0;// 直接暴力会超时,因此我们考虑用递归实现cin>>n;while(n--){cin>>N>>M>>P;res[len++]=binary(N,M,P);}for(int i=0;i<len;i++){cout<<res[i]<<endl;}return 0;
}

2.既约分数

考点:求最大公约数
思路:
1-2020最简分数:循环遍历是否其最大公约数即1:是 个数++
求最大公约数
如何求最大公约数:辗转相除取余法-递归实现
两个数的最大公约数实质是由两者不断相除取模得到的:
比如25和5 :1.25%5
0 则此时最大公约数为5
比如22和2 :1.25%15!=0 t=25%15=10 再次对被除数对余数取模 t=a%t=5!=0 t=a%t==0 则此时最大公约数为5
在这里插入图片描述

#include <iostream>
using namespace std;// 求最大公约数
int is(int a,int b){if(b==0) return a;//返回最终余数-即最大公约数//否则不断除余数取模,并将结果保存在b中,b再次作为余数else return is(b,a%b);
}
int main()
{int sum=0;// 1-2020最简分数:循环遍历是否其最大公约数即==1:是 个数++ for(int i=1;i<=2020;i++){for(int j=1;j<=2020;j++){if(is(i,j)==1) sum++;}}cout<<sum;return 0;
}

进制转化

1.其它进制转化为十进制:
思路:
其它进制转化为十进制:当前位值*当前位的权值

如何获得当前位值? 考虑可能很长,我们用一个字符串str存储,然后str-'0’转化为数字

如何计算当前的权值?第一位权值-1 第二位-进制数1 第三位-进制数进制数…

转换结果:sum+=当前位值*当前位权

在这里插入图片描述

#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int main()
{string str="2022";int k=9,sum=0,base=1;for(int i=str.size()-1;i>=0;i--){// 用一个字符串str存储,然后str-'0'转化为数字int t=str[i]-'0';// 转换结果:sum+=当前位值*当前位权sum+=t*base;// 第一位权值-1 第二位-进制数*1 第三位-进制数*进制数...base*=k;}cout<<sum; return 0;
}

2.十进制转其它进制
思路:
如何将十进制转成其它进制?
以十进制转二进制为例:用十进制除2然后倒取余数法
2:2%2=0 2/2=1 取10 8%2=0 t=8/2=4%2=0 t=4/2=2%2=0 t=2/2=1 取1000
1.先模2存:由于要存储每一位的转换值,我们考虑用数组,但注意,最后取余数时,我们是倒序取的!!!
2.再判断除进制是否为0,是则结束
3.倒序输出
在这里插入图片描述

#include <bits/stdc++.h>
using namespace std;const int maxn=100;
int nu[maxn];
int main(){int n,k,len=0;cin>>n>>k;do{//先模2存:存储每一位的转换值nu[len++]=n%k;n/=k;}while(n);//判断除进制是否为0,是则结束// 倒序输出for(int i=len-1;i>=0;i--)if(nu[i]>9) cout<<(char)(nu[i]-10+'A');else cout<<nu[i];return 0;
}

X进制减法

思路:
求X进制下A-B的十进制结果最小值:

如何实现?
A-B在X进制下的值:AB对应数相减可得

再求每位数在合法条件下对应的最小进制数:由2开始
条件:每一数位上的数字<对应进制数,最小进制=数位+1 AB两个均要满足,则取AB中最大的数位

sum+=数位*最小进制数
在这里插入图片描述

#include <bits/stdc++.h>
using namespace std;
const int maxn=1e5;
const int m=1e9+7;
int n1[maxn],n2[maxn];
int n,a,b;
long long value,base=1,sum=0;
int main(){int n;cin>>n>>a;for(int i=a;i>=1;i--){cin>>n1[i];}cin>>b;for(int i=b;i>=1;i--){cin>>n2[i];}for(int i=1;i<=a||i<=b;i++){// 每一数位上的数字<对应进制数,最小进制=数位+1 AB两个均要满足,则取AB中最大的数位value=max(n1[i],n2[i])+1;// 再求每位数在合法条件下对应的最小进制数-2if(value<2) value=2;// sum+=数位*最小进制数sum=(sum+(n1[i]-n2[i])*base)%m;base=base*value%m;}cout<<sum%m;return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/303725.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CentOS7安装Tomcat

安装Tomcat前需要先安装JDK Linux安装JDK17等通用教程 一、安装 Tomcat下载地址 1、上传至服务器解压 tar -zxvf apache-tomcat-8.5.100.tar.gz2、解压后移动至 /usr/local/Tomcat 目录 mv apache-tomcat-8.5.100/ /usr/local/Tomcat3、进入bin目录启动Tomcat cd /usr/loc…

轻量级web开发框架:Flask本地部署及实现公网访问界面

目录 前言 1. 安装部署Flask 2. 安装Cpolar内网穿透 3. 配置Flask的web界面公网访问地址 4. 公网远程访问Flask的web界面 前言 本篇文章讲解如何在本地安装Flask&#xff0c;以及如何将其web界面发布到公网上并进行远程访问。 Flask是目前十分流行的web框架&#xff0c;采…

接口自动化测试要做什么?8个步骤讲的明明白白

先了解下接口测试流程&#xff1a; 1、需求分析 2、Api文档分析与评审 3、测试计划编写 4、用例设计与评审 5、环境搭建&#xff08;工具&#xff09; 6、执行用例 7、缺陷管理 8、测试报告 那"接口自动化测试"怎么弄&#xff1f;只需要在上篇文章的基础上再梳理下就…

【leetcode】动态规划::前缀和(二)

标题&#xff1a;【leetcode】前缀和&#xff08;二&#xff09; 水墨不写bug 正文开始&#xff1a; &#xff08;一&#xff09; 和为K的子数组 给你一个整数数组 nums 和一个整数 k &#xff0c;请你统计并返回 该数组中和为 k 的子数组的个数 。 子数组是数组中元素的连续…

拍立淘API助力阿里巴巴1688平台:图片搜索商品更精准,实现个性化推荐新高度

在电子商务的浪潮中&#xff0c;搜索引擎一直扮演着至关重要的角色。然而&#xff0c;随着技术的不断发展和用户需求的多样化&#xff0c;传统的文本搜索方式已逐渐难以满足市场的需要。在此背景下&#xff0c;阿里巴巴1688平台引入拍立淘API&#xff0c;通过图片搜索技术&…

组态王与美国罗克韦尔AB PLC之间无线通讯方案详解

组态王与多台美国罗克韦尔AB PLC间的无线通信测试需要用到以下设备&#xff1a; 三菱PLC型号&#xff1a;FX5u 2台 上位机&#xff1a;组态王6.55 1台 达泰欧美系PLC无线通讯终端——DTD418MB 3块 主从关系&#xff1a;1主2从 通讯接口&#xff1a;RJ45接口 供电&…

CentOS 7与MySQL 5.7.25主从复制实践

本文主要记录mysql主从复制的详细步骤&#xff0c;如果你还没来得及安装MySQL请参考CentOS 7实战&#xff1a;轻松实现MySQL 5.7.25的tar包离线安装 ProcessOn源文件地址 主从复制应用场景&#xff1a; 从服务器作为主服务器的实时备份主从服务器实现读写分离&#xff08;主…

MQ死信队列:面试题

所谓的死信队列只不过是我们自己定义的一个队列&#xff0c;注意对于这个队列只能人工干预 面试题&#xff1a;你们是如何保证消息不会丢失的 1&#xff0c;什么是死信 在RabitMQ中充当主角的就是消息&#xff0c;在不同场景下&#xff0c;消息会有不同地表现。 死信就是在…

网络相关知识

网络相关 基础知识 计算机网络的功能 资源共享信息传递增加可靠性提高系统处理能力 局域网中常见的网络拓扑结构 星型拓扑&#xff1a;易于实现&#xff0c;易于扩展网络&#xff0c;易于排查故障网状拓扑&#xff1a;可靠性高 Tcp/ip五层参考模型以及对应的典型设备 应…

通往 AGI 的道路上,OpenAI 逐渐构建了全模态的工具集

几天前&#xff0c;OpenAI 公司官宣将发布一个名为“Voice Engine”的小规模模型&#xff0c;引起巨大的声浪。 该模型支持仅使用文本输入和单个 15 秒音频样本来生成与原始说话者非常相似的自然语音。可应用于“语音转录”、“语音克隆”、“语音翻译”等场景。 笔者感叹 AI …

Redis高级-分布式缓存

分布式缓存 – 基于Redis集群解决单机Redis存在的问题 单机的Redis存在四大问题&#xff1a; 0.目标 1.Redis持久化 Redis有两种持久化方案&#xff1a; RDB持久化AOF持久化 1.1.RDB持久化 RDB全称Redis Database Backup file&#xff08;Redis数据备份文件&#xff09;…

13.java openCV4.x 入门-Core之图像差异比对(动态预警)

专栏简介 &#x1f492;个人主页 &#x1f4f0;专栏目录 点击上方查看更多内容 &#x1f4d6;心灵鸡汤&#x1f4d6;我们唯一拥有的就是今天&#xff0c;唯一能把握的也是今天建议把本文当作笔记来看&#xff0c;据说专栏目录里面有相应视频&#x1f92b; &#x1f9ed;文…

如何彻底删除node和npm

如何彻底删除node和npm 前言&#xff1a; 最近做个项目把本地的node更新了&#xff0c;之前是v10.14.2更新至v16.14.0 &#xff0c;想着把之前的项目起来下&#xff0c;执行npm install 结果启动不了&#xff0c;一直报npm版本不匹配需要更新本地库异常… 找了几天发现是npm 和…

Pandas学习笔记——第二弹

在用正则表达式对数据进行filtering的时候&#xff0c;出现字符串和整数变量不匹配的问题&#xff0c;例如&#xff1a; 给3加上引号就好了&#xff1a;3 但是为什么10000不需要加引号&#xff0c;而3需要呢&#xff1f;这是因为他们的变量类型不一样的&#xff0c;于是总结一下…

Java 继承

1 继承 1.1 为什么需要继承 Java中使用类对现实世界中实体来进行描述&#xff0c;类经过实例化之后的产物对象&#xff0c;则可以用来表示现实中的实体&#xff0c;但是 现实世界错综复杂&#xff0c;事物之间可能会存在一些关联&#xff0c;那在设计程序是就需要考虑 比如&…

如何用Vue实现实时网络状态监控:一篇让你轻松掌握前端网络连通性管理的指南

1、演示 2、网络监控目的 网络性能优化&#xff1a; 通过监控用户的网络状态&#xff0c;可以了解网络延迟、带宽利用率、丢包率等信息&#xff0c;从而优化网络性能&#xff0c;提升用户体验。 故障排除&#xff1a; 可以监控网络状态以及网络设备的运行情况&#xff0c;及时…

CSS3 实现文本与图片横向无限滚动动画

文章目录 1. 实现效果2.html结构3. css代码 1. 实现效果 gif录屏比较卡&#xff0c;实际很湿滑&#xff0c;因为是css动画实现的 2.html结构 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"…

二维数组中的查找

&#x1f600;前言 在解决问题时&#xff0c;我们经常会遇到需要在二维数组中查找特定元素的情况。然而&#xff0c;如果直接使用暴力搜索&#xff0c;即遍历整个数组寻找目标元素&#xff0c;可能会导致时间复杂度较高&#xff0c;效率不高。然而&#xff0c;对于给定的二维数…

【负载均衡——一致性哈希算法】

1.一致性哈希是什么 一致性哈希算法就很好地解决了分布式系统在扩容或者缩容时&#xff0c;发生过多的数据迁移的问题。 一致哈希算法也用了取模运算&#xff0c;但与哈希算法不同的是&#xff0c;哈希算法是对节点的数量进行取模运算&#xff0c;而一致哈希算法是对 2^32 进…

MySQL分库分表的方式有哪些

目录 一、为什么要分库分表 二、什么是分库分表 三、分库分表的几种方式 1.垂直拆分 2. 水平拆分 四、分库分表带来的问题 五、分库分表技术如何选型 一、为什么要分库分表 如果一个网站业务快速发展&#xff0c;那这个网站流量也会增加&#xff0c;数据的压力也会随之而…