C++-蓝桥杯-入门训练
Fibonacci数列,快速幂
#include <cstdio>
struct Matrix{int a[][];};
const int N=,MOD=;
Matrix A,B,O,I;
Matrix Mul(Matrix A,Matrix B){
Matrix C=O;
for(int i=;i<=N;i++)
for(int j=;j<=N;j++)
for(int k=;k<=N;k++)
C.a[i][j]=(C.a[i][j]+A.a[i][k]*B.a[k][j])%MOD;
return C;
}
Matrix Pow(Matrix A,int n){
Matrix B=I;
for(;n;n>>=,A=Mul(A,A))if(n&)B=Mul(B,A);
return B;
}
int main(){
for(int i=;i<=;i++)for(int j=;j<=;j++)O.a[i][j]=,I.a[i][j]=(i==j);
A.a[][]=,A.a[][]=;
A.a[][]=,A.a[][]=;
int n;scanf("%d",&n),B=Pow(A,n+),printf("%d\n",B.a[][]);
return ;
}
圆的面积
#include <cmath>
#include <cstdio>
typedef double db;
db r,pi=acos(-);
int main(){
scanf("%lf",&r),printf("%.7lf",pi*r*r);
return ;
}
序列求和
#include <cstdio>
typedef long long ll;
ll ans,n;
int main(){
scanf("%lld",&n),printf("%lld",(+n)*n/);
return ;
}
A+B问题
#include <cstdio>
int main(){
int a,b;scanf("%d%d",&a,&b),printf("%d",a+b);
return ;
}
数列排序,STL使用
#include <queue>
#include <cstdio>
using namespace std;
priority_queue<int>q;
int main(){
int n,a;scanf("%d",&n);
for(int i=;i<=n;i++)scanf("%d",&a),q.push(-a);
for(int i=;i<=n;i++)printf("%d ",-q.top()),q.pop();
return ;
}
十六进制转八进制,进制转化
#include <cstdio>
#include <string>
#include <cstring>
#include <iostream>
using namespace std;
char s[];
int main(){
int n,len,num,ok;scanf("%d",&n);
for(int i=;i<=n;i++){
scanf("%s",s+),len=strlen(s+);
string ans="";
for(int i=;i<=len;i++)
switch(s[i]){
case '':ans+="";break;case '':ans+="";break;
case '':ans+="";break;case '':ans+="";break;
case '':ans+="";break;case '':ans+="";break;
case '':ans+="";break;case '':ans+="";break;
case '':ans+="";break;case '':ans+="";break;
case 'A':ans+="";break;case 'B':ans+="";break;
case 'C':ans+="";break;case 'D':ans+="";break;
case 'E':ans+="";break;case 'F':ans+="";break;
}//printf("%s\n",ans.c_str());
switch(len%){
case :ans=""+ans;break;
case :ans=""+ans;break;
}
len=ans.length();ok=;
for(int i=;i<len;i+=){
num=*(ans[i]-'')+*(ans[i+]-'')+(ans[i+]-'');//printf("%c %c %c\n",ans[i],ans[i+1],ans[i+2]);
if(num)ok=;if(ok)putchar(num+'');
}
puts("");
}
return ;
}
阶乘计算,高精度
#include <cstdio>
#include <string>
#include <cstring>
#include <cstdlib>
using namespace std;
const int MAXN=;
char buf[MAXN];
struct BigData{
int a[MAXN],cnt;
void init(int c){cnt=c,memset(a,,sizeof(a));}
void Print(){for(int i=cnt;i>=;i--)putchar(a[i]+'');puts("");}
void ReadInt(int x){
memset(buf,,sizeof(buf));
itoa(x,buf+,);
init(strlen(buf+));
for(int i=;i<=cnt;i++)a[cnt-i+]=buf[i]-'';
}
};
BigData Mul(BigData A,BigData B){
BigData C;C.init();
for(int i=;i<=A.cnt;i++)
for(int j=;j<=B.cnt;j++){
C.a[i+j-]+=A.a[i]*B.a[j];
C.a[i+j]+=C.a[i+j-]/;
C.a[i+j-]%=;
}
C.cnt=A.cnt+B.cnt-;
if(C.a[C.cnt+]>=)C.cnt++;
while(C.a[C.cnt]==&&C.cnt>)C.cnt--;
return C;
}
BigData Ans,A;
int main(){
Ans.init(),Ans.a[]=;
int n;scanf("%d",&n);
for(int i=;i<=n;i++)A.ReadInt(i),Ans=Mul(Ans,A);
Ans.Print();
return ;
}
C++-蓝桥杯-入门训练的更多相关文章
- 蓝桥杯 入门训练 Fibonacci数列(水题,斐波那契数列)
入门训练 Fibonacci数列 时间限制:1.0s 内存限制:256.0MB 问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. 当n比较大时,Fn也非 ...
- 蓝桥杯 入门训练 Fibonacci数列
入门训练 Fibonacci数列 时间限制:1.0s 内存限制:256.0MB 问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. ...
- 蓝桥杯-入门训练 :Fibonacci数列
问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1.当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少. 输入格式 输入包含一个整数n. ...
- 蓝桥杯入门训练-Fibonacci数列
刚刚开始刷题的时候就栽了个大跟头,稍微记一下...... 一开始不是很理解:“我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再将计算的结果除以10007取余数,直接计算余数往往比先算出原数 ...
- 蓝桥杯 入门训练 Fibonacci数列 解析
问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. 当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少. 输入格式 输入包含一个整数n ...
- 蓝桥杯-入门训练 :A+B问题
问题描述 输入A.B,输出A+B. 说明:在“问题描述”这部分,会给出试题的意思,以及所要求的目标. 输入格式 输入的第一行包括两个整数,由空格分隔,分别表示A.B. 输出格式 输出一行,包括一个整数 ...
- 蓝桥杯如何训练?(附VIP题库)
https://www.dotcpp.com/ 给大家介绍下蓝桥杯,是近几年可以说国内名气最大的程序设计类比赛了 相比国际赛事ACM,蓝桥杯入门简单.中文答题.拿奖率高,更适合国内大众化参加,近几年不 ...
- Java实现 蓝桥杯 算法训练 猴子吃包子(暴力)
试题 算法训练 猴子吃包子 问题描述 从前,有一只吃包子很厉害的猴子,它可以吃无数个包子,但是,它吃不同的包子速度也不同:肉包每秒钟吃x个:韭菜包每秒钟吃y个:没有馅的包子每秒钟吃z个:现在有x1个肉 ...
- Java实现蓝桥杯 算法训练 大等于n的最小完全平方数
试题 算法训练 大等于n的最小完全平方数 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 输出大等于n的最小的完全平方数. 若一个数能表示成某个自然数的平方的形式,则称这个数为完全平 ...
随机推荐
- Windows安装node环境,部署静态网站
1.进入官网,下载nodejs https://nodejs.org/zh-cn/ 2.安装nodejs win10怎么安装nodejs和npm https://jingyan.baidu.com/a ...
- Python性能优化方案
Python性能优化方案 从编码方面入手,代码算法优化,如多重条件判断有限判断先决条件(可看 <改进python的91个建议>) 使用Cython (核心算法, 对性能要求较大的建议使用C ...
- 新手必看:PyCharm安装教程,Python开发者的有力工具
PyCharm是由JetBrains打造的一款Python IDE,VS2010的重构插件Resharper就是出自JetBrains之手. 同时支持Google App Engine,PyCharm ...
- 挂号平台首页开发(UI组件部分)
JQ插件模式开发UI组件 JQ插件开发方法: 1.$.extend() 扩展JQ(比较简单,功能略显不足) $.extend({ sayHello:function(){ console.log(&q ...
- Linux分区工具-parted
parted用于操纵磁盘分区的程序,通常用于规则大小超过2T的分区,也可用于小分区的规划:它支持多种分区表格式,包括MS-DOS(MBR)和GPT:这对于为新操作系统创建空间,重新组织磁盘使用以及将数 ...
- VS自定义模板-以自定义类模板为样例
前言 在实际的工作过程中部分公司会要求开发人员在开发过程中需遵守一些开发规范,开发规范中主要包括文件的注释规范,项目.文件.变量的命名规范(例如驼峰规范)等等.例如我们代码规范中就有一项新增文件的文件 ...
- 静态库&动态库&导入库
我遇到的问题 先贴一个StackOverflow上的问题 上面的问题让我知道了更多动态库的知识. 我需要使用一个声音库(irrKlang)为2d游戏提供声音,我使用的编译器是mingw-w64,但是i ...
- GraphQL + React Apollo + React Hook 大型项目实战(32 个视频)
GraphQL + React Apollo + React Hook 大型项目实战(32 个视频) GraphQL + React Apollo + React Hook 大型项目实战 #1 介绍「 ...
- 在腾讯云上配置.NetCoreWeb
1.购买服务器 2.远程登录(账号密码在上图铃铛里的消息里) 3.安装iis 3.安装.NetCore相关 下载最新版本.NET Core Windows Server Hosting https:/ ...
- StackExchange.Redis 系列 1:基础使用
本系列博文已经全部完成,完整系列请访问:https://blog.zhuliang.ltd/tags/StackExchange-Redis%E7%B3%BB%E5%88%97/ 本文转自:https ...