Program
2024-01-07 11:35:40
发布于:广东
珠心算测验
#include<bits/stdc++.h>
using namespace std;
const int N=2e4+10;
int res[N],a[N],n,cnt=0;
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
res[a[i]]=1;
}
for(int i=1;i<n;i++){
for(int j=i+1;j<=n;j++){
int x=a[i]+a[j];
if(res[x]==1){
cnt++;
res[x]=0;
}
}
}
cout<<cnt;
return 0;
}
兔子数列
#include<bits/stdc++.h>
using namespace std;
int main(){
long long a[1001],n;
a[1]=a[2]=1;
cin>>n;
for(int i=3;i<=n;i++){
a[i]=a[i-1]+a[i-2];
}
cout<<a[n];
return 0;
}
鲜奶公司百年大庆
#include<bits/stdc++.h>
using namespace std;
int main(){
set<int> s;
int n,x;
cin>>n;
for(int i=1;i<=n;i++){
cin>>x;
s.insert(x);
}
cout<<s.size()<<endl;
set<int>::iterator it;
for(it=s.begin();it!=s.end();it++){
cout<<*it<<" ";
}
return 0;
}
换零钱
#include<bits/stdc++.h>
using namespace std;
int main(){
clock_t start,end;
start=clock();
int n,cnt=0;
cin>>n;
for(int i=0;i<=n;i++){
for(int j=0;j<=n/2;j++){
for(int k=0;k<=n/5;k++){
if(i*1+j*2+k*5==n) cnt++;
}
}
}
cout<<cnt<<endl;
end=clock();
printf("运行时间:%d毫秒",end-start);
return 0;
}
上升
#include<bits/stdc++.h>
using namespace std;
int main(){
vector<int> v; //初始化
int n,x;
cin>>n;
while(n--){
cin>>x;
v.push_back(x);
}
sort(v.begin(),v.end());
for(int i=0;i<v.size()-1;i++){
if(v[i]>=v[i+1]){
cout<<"NO";
return 0;
}
}
cout<<"YES";
return 0;
}
约数表
#include<bits/stdc++.h>
using namespace std;
vector<int> getall(int num){
vector<int> v;
for(int i=1;i<=num;i++){
if(num%i==0){
v.push_back(i);
}
}
return v;
}
void show(vector<int> v){
for(auto i:v) cout<<i<<" ";
cout<<endl;
}
int main(){
int num;
cin>>num;
for(int i=1;i<=num;i++){
vector<int> v=getall(i);
show(v);
}
return 0;
}
条纹
#include<bits/stdc++.h>
using namespace std;
string s[10];
int main(){
bool f=true;
for(int i=1;i<=8;i++){
cin>>s[i];
}
for(int i=1;i<=8;i++){
int cnt=0;
for(int j=0;j<8;j++){
if(s[i][j]=='R') cnt++;
}
if(cnt==8){
cout<<"R";
return 0;
}
}
cout<<"B";
return 0;
}
质因数分解
#include<bits/stdc++.h>
using namespace std;
void dfs(int x){
if(x==1) return;
for(int i=2;i<=x;i++){
if(x%i==0){
int num=0;
while(x%i==0){
num++;
x/=i;
}
if(x==1){
if(num==1) cout<<i;
else cout<<i<<"^"<<num;
}
else{
if(num==1) cout<<i;
else cout<<i<<"^"<<num;
cout<<"*";
}
break;
}
}
dfs(x);
}
int main(){
int n;
cin>>n;
dfs(n);
return 0;
}
字符串处理
#include<bits/stdc++.h>
using namespace std;
char s[1100];
void dfs(int l,int r){
if(l==r) return;
int mid=(l+r)/2;
reverse(s+l,s+mid+1);
dfs(l,mid);
sort(s+mid****+r+1);
dfs(mid+1,r);
}
int main(){
int k;
cin>>k;
cin>>(s+1);
dfs(1,1<<k);
cout<<s+1;
return 0;
}
比例简化
#include<bits/stdc++.h>
using namespace std;
//作用:返回a、b的最大公约数
int gcd(int a,int b){
if(b==0) return a;
else return(gcd(b,a%b));
}
int main(){
//A:支持的人数 B:反对的人数,L:AB约分之后,面值不超过L
int a,b,l,ansa=101,ansb=1;
cin>>a>>b>>l;
//L:AB简化之后的上限,AB的面值不超过L
for(int i=1;i<=l;i++){
for(int j=1;j<=l;j++){
if(gcd(i,j)==1){
if(1.0*i/j-1.0*a/b>=0
&&(1.0*i/j-1.0*a/b<1.0*ansa/ansb-1.0*a/b)){
ansa=i,ansb=j;
}
}
}
}
cout<<ansa<<" "<<ansb;
return 0;
}
约翰的奶牛
#include<bits/stdc++.h>
using namespace std;
//奶牛分群
int n,k;
int dfs(int n,int k){
if((n-k)%2!=0||n<=k){//分不下去了
return 1;
}
return dfs((n-k)/2,k)+dfs((n-k)/2+k,k);
}
int main(){
cin>>n>>k;
cout<<dfs(n,k);
return 0;
}
#include<bits/stdc++.h>
using namespace std;
int gcd(int a,int b){
int mx=max(a,b);
int mn=min(a,b);
if(mx%mn==0) return mn;
else return gcd(mn,mx%mn);
}
int main(){
int x,y;
cin>>x>>y;
cout<<gcd(x,y);
return 0;
}
这里空空如也
有帮助,赞一个