当前位置: 首页 > news >正文

杭电2041-2050

2041

这里进入递归专题了

#include<bits/stdc++.h>
#include<iostream>
//简单递归
using namespace std;
long long int M[45];
int main() {int n;M[1]=1;M[2]=1;for(int i=3;i<45;i++){M[i]=M[i-1]+M[i-2];}while(cin>>n){while(n--){int m;cin>>m;cout << M[m] << endl;}}return 0;
}

2042

#include<bits/stdc++.h>
#include<iostream>using namespace std;
//跟猴子吃桃那题一样
//起始值不一样
int main() {int n;int x,y;while(cin>>n){while(n--){cin>>x;y=3;for(int i=1;i<=x;i++){y=(y-1)*2;}cout<<y<<endl;}}return 0;
}

2043

#include<bits/stdc++.h>
#include<iostream>using namespace std;int main() {int n;cin>>n;for(int i=0;i<n;i++){string s;cin>>s;int a=0,b=0,c=0,d=0;int k;int l=s.length();if(l>=8&&l<=16){for(k=0;k<l;k++){if(s[k]>='A'&&s[k]<='Z') a=1;else if(s[k]>='a'&&s[k]<='z') b=1;else if(s[k]>='0'&&s[k]<='9') c=1;else   d=1;}if((a+b+c+d)>=3) cout << "YES" << endl;else cout << "NO"<<endl;}else cout << "NO"<<endl;}return 0;
}

2044

#include<bits/stdc++.h>
#include<iostream>using namespace std;
long long int f[55];
int main() {f[0]=1;f[1]=2;for(int i=2;i<=50;i++) {f[i]=f[i-1]+f[i-2];}int n;while(cin>>n) {while(n--){int x,y;cin>>x>>y;cout << f[y-x-1] << endl;}}return 0;
}

2045

#include<bits/stdc++.h>
#include<iostream>using namespace std;
long long int f[55];int main() {f[1]=3;f[2]=6;f[3]=6;for(int i=4;i<=50;i++){f[i]=f[i-1]+2*f[i-2];}int n;while(cin>>n){cout << f[n] << endl;}return 0;
}

2046

#include<bits/stdc++.h>
#include<iostream>using namespace std;
long long int f[55];
int main() {int n;f[1]=1;f[2]=2;for(int i=3;i<=50;i++){f[i]=f[i-1]+f[i-2];}while(cin>>n){cout << f[n] << endl;}return 0;
}

2047

#include<bits/stdc++.h>
#include<iostream>using namespace std;
long long int f[45];
//这种递归从结尾开始数比较好一些
int main() {f[1]=3;f[2]=8;for(int i=3;i<=45;i++){f[i]=2*f[i-1]+f[i-2]*2;}int n;while(cin>>n){cout << f[n] << endl;}return 0;
}

2048

#include<bits/stdc++.h>
#include<iostream>
//这个得用long long int,不然会爆
using namespace std;
long long int f[22];
int main() {f[1]=0;f[2]=1;for(int i=3;i<=21;i++){f[i]=(i-1)*(f[i-1]+f[i-2]);}int n;cin>>n;while(n--){int x;long long int q=1;cin>>x;for(int i=1;i<=x;i++){q*=i;}printf("%.2lf%%\n",(double)f[x]/q*(100.0));}return 0;
}

2049

这个题目中组合数的实现方式值得我们借鉴

#include<bits/stdc++.h>
#include<iostream>using namespace std;
//错排公式的应用
long long int f[25];
int main() {f[1]=0;f[2]=1;for(int i=3;i<=25;i++){f[i]=(i-1)*(f[i-1]+f[i-2]);}int t;cin>>t;//错排公式while(t--){int n,m;cin>>n>>m;//组合数Cmnlong long int ans=1;for(int i=0;i<m;i++){ans*=(n-i);}for(int i=0;i<m;i++){ans/=(i+1);}//cout << ans << endl;cout<<ans*f[m]<<endl;}return 0;
}

2050

划分空间问题

#include<bits/stdc++.h>
#include<iostream>using namespace std;
//划分空间问题
long long int f[10010];
int main() {f[1]=2;for(int i=2;i<=10000;i++){f[i]=f[i-1]+4*(i-1)+1;}int n;cin>>n;while(n--){int x;cin>>x;cout<<f[x]<<endl;}return 0;
}


http://www.mrgr.cn/news/44696.html

相关文章:

  • VBA学习(77):Excel表格拆分通用版终极神器
  • 牛客:小红的字符移动,小红的数轴移动,小红的圆移动
  • S7-200 SMAR Modbus RTU主站
  • ubuntu下vscode插件arm keil studio pack遇到的问题
  • 利士策分享,旅游是否要舟车劳顿才能尽兴?
  • 【查找算法概念】与【线性表的相关查找算法】
  • WPF|依赖属性SetCurrentValue方法不会使绑定失效, SetValue方法会使绑定失效?是真的吗?
  • Vue2电商平台(五)、加入购物车,购物车页面
  • 黑马头条(10-1开始学习)
  • 【计算机网络 - 基础问题】每日 3 题(二十九)
  • 数据结构与算法笔记:概念与leetcode练习题
  • 手术器械检测系统源码分享
  • 如何给父母安排体检?
  • Cherno游戏引擎笔记(61~72)
  • jwt认证课件讲解
  • 2014/10/7 408 20题
  • C# 泛型编程基础:自定义泛型类、方法与接口的应用
  • pip丢了怎么办!不用怕,教你用get-pip.py来下载
  • Nacos
  • Vue基础练习|ref