鸡兔同笼
cpp
#include<bits/stdc++.h>
using namespace std;
void f(int n);
int n;
int main()
{
cin>>n;
int x=0;
int ma=-1;
int mi=1000;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(i*2+j*4==n){
x=1;
ma=max(ma,i+j);
mi=min(mi,i+j);
}
}
}
if(x==1){
cout<<mi<<" "<<ma;
}
else{
cout<<"0 0";
}
return 0;
}
void f(int n){
}
猴子吃桃
cpp
#include<bits/stdc++.h>
using namespace std;
int n,sum=0;
void f(int);
int main()
{
int a[1000];
a[1]=1;
for(int i=0;i<10;i--){
a[i]=(a[i-1]+1)*2;
}
return 0;
}
void f(int n){
}
扩号匹配问题
cpp
#include<bits/stdc++.h>
using namespace std;
int n,sum=0;
void f(int,int);
char s[100];
char r[100];
int main()
{
cin>>s;
int l=strlen(s);
for(int i=0;i<l;i++){
if(s[i]=='(') cout<<" ";
else if(s[i]==')'){
r[i]=' ';
f(i-1,i);
}
else r[i]=' ';
}
cout<<r;
return 0;
}
void f(int i,int n){
if(r[i]=='$'){
r[i]=' ';
return;
}
if(i==-1){
r[n]='?';
return;
}
f(i-1,n);
}
上台阶不会
田忌赛马不会
课程冲突
cpp
#include<iostream>
using namespace std;
int n,sum=0;
int a[1000];
int f(int);
int main()
{
cin>>n;
int b[1000];
for(int i=0;i<n;i++){
cin>>a[i];
cin>>b[i];
}
int ma=-1;
for(int i=0;i<n;i++){
for(int j=i+1;j<n;j++){
int s=min(b[i],b[j])-max(a[i],a[j])+1;
ma=max(ma,s);
}
}
cout<<ma;
return 0;
}
42 点不会
最长下坡不会
放苹果
cpp
#include<bits/stdc++.h>
using namespace std;
int n,sum=0;
int f(int,int);
int main()
{
int m;
cin>>n>>m;
cout<<f(n,m);
return 0;
}
int f(int n,int m){
if(m==1||n==0) return 1;
if(n==1||m==0) return 1;
if(m>n) return f(n,n);
if(m<=n) return f(n,m-1)+f(n-m,m);
}
制作蛋糕不会
找和最接近但不超过K的两个元素
cpp
#include<bits/stdc++.h>
using namespace std;
void f(int n);
int n;
int main()
{
int k;
int a[1000]={0};
int mi=1000;
int h=0;
cin>>n>>k;
for(int i=0;i<n;i++){
cin>>a[i];
}
for(int i=0;i<n;i++){
for(int j=i+1;j<n;j++){
if(a[i]+a[j]<=k){
mi=min(mi,a[i]-a[j],a[j]-a[i]);
if(mi/1!=0){
h=a[i]+a[j];
}
else{
mi=max(a[i]-a[j],mi,a[j]-a[i]);
}
}
}
}
cout<<h;
return 0;
}
void f(int n){
}
数根
cpp
#include<bits/stdc++.h>
using namespace std;
void f(int n);
int n;
int main()
{
cin>>n;
int sum=0;
while(true){
if(n/10==0){
cout<<n;
return 0;
}
else{
int t=n;
while(t!=0){
sum=sum+t%10;
t=t/10;
}
n=sum;
}
}
return 0;
}
void f(int n){
}
和数不会
生理周期
cpp
#include<bits/stdc++.h>
using namespace std;
int n,m,sum=0;
int a[100];
void f(int);
int main()
{
int ax,b,c,d;
cin>>ax>>b>>c>>d;
for(int i=d+1;i<=d+21252;i++){
if(i%23==ax&&i%28==b&&i%33==c){
cout<<i-d<<endl;
}
}
return 0;
}
void f(int n){
}
矩形数量文件结构"图"不会
分解因数
cpp
#include<bits/stdc++.h>
using namespace std;
int n,sum=0;
void f(int,int);
int main()
{
int m;
cin>>n>>m;
f(n,m);
return 0;
}
void f(int n,int m){
if(n==1){
sum++;
return;
}
for(int i=m;i<=n;i++){
if(n%i==0){
f(n/i,i);
}
}
}