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的最小的完全平方数. 若一个数能表示成某个自然数的平方的形式,则称这个数为完全平 ...
随机推荐
- C语言实现双人控制的战斗小游戏
实现功能 1.双人分别控制小人移动 2.子弹碰撞 3.可改变出弹方向 4.血条实体化 前言 这个游戏是看了知乎一位非常好的老师的专栏后练手写的,(至于是哪位,知乎搜C语言小游戏最牛逼的那位) 有老师系 ...
- Java数据结构--单链表
#java学习经验总结------单链表的建立与结点的增删 在该链表结点有data数据,并且还有cpu,分给cpu随机的时间片,根据时间片大小进行结点data的排序 链表结点的建立 class Lin ...
- .NET Core MVC下的TagHelper
.NET web开发者在开发过程中,一定都踩过的坑,明明修改了js文件,可是部署到生产环境,客户反馈说:“还是报错啊”..然后一脸懵逼的去服务器上看文件,确实已经更新了.有经验的coder可能就想到了 ...
- java设计模式 - 单例模式(干货)
深度讲解23种设计模式,力争每种设计模式都刨析到底.废话不多说,开始第一种设计模式 - 单例. 作者已知的单例模式有8种写法,而每一种写法,都有自身的优缺点. 1,使用频率最高的写法,废话不多说,直接 ...
- 【React Native】某个页面禁用物理返回键
1.引入组件 import { BackHandler, } from 'react-native'; 2.添加监听 componentDidMount(): void { BackHandler.a ...
- 共同战“疫”,CODING 帮助研发团队高效协同
新冠疫情下,家里蹲的日子继续延长.部分企业虽然受困于不能回公司办公,但都陆续开启了远程协作办公,远程协作领域被推上了风口.但「远程协同」看不见摸不着工作伙伴,个人的自律能力也无法保证,难免出现沟通响应 ...
- MYSQL使用group by,如何查询出总记录数
比如有这样一条SQL,根据t.user_id,t.report_date两个字段统计 这样前端页面能展示数据,但往往需要一个总记录数,在有分页的情况下用到 一种解决方法是在外面套一层,然后对其coun ...
- lua学习之深入函数第一篇
深入函数第一篇 函数是第一类值,具有特定的词法域 第一类值 第一类值的意思是函数与 lua 中的其他类型如数字,字符串具有相同的权力 函数可以存储到全局变量或局部变量变量,还可以存储到 table 中 ...
- Git的基本使用 -- 文件的添加、撤销、对比、删除
显示当前工作区.暂存区.仓库的状态 git status 当工作区的所有文件都提交到仓库,并和仓库保持一致时 有修改的文件时,会显示有改动的文件,并提示如何提交这些修改 添加到暂存区,还未提交到仓库时 ...
- Play! 1.x 访问远程web
本文参考 Play Framework 控制层发起HTTP请求 (Send Http Request In Controller) 参考连接地址:http://blog.csdn.net/fhzait ...