1【铅笔的数量】
#include<iostream>
using namespace std;
int gcd(int a,int b){
while(a%b!=0){
int r=a%b;
a=b;
b=r;
}
return b;
}
int lcm(int a,int b){
return a*b/gcd(a,b);
}
int main(){
int a,b,c;
cin>>a>>b>>c;
int v=lcm(a,b);
cout<<lcm(v,c);
return 0;
}
2【整数“化”1】
#include<iostream>
#include<cmath>
using namespace std;
void fun(int n){
if(n==1){
return ;
}
if(n%2==0){
cout<<n<<"/2="<<n/2<<endl;
fun(n/2);
}
else if(n%2!=0){
cout<<n<<"*3+1="<<n*3+1<<endl;
fun(n*3+1);
}
}
int main(){
int n;
cin>>n;
fun(n);
cout<<"End";
return 0;
}
3【爬楼梯】
//爬楼梯(用斐波那契数列解)
//递归优化(递归转递推)
#include<iostream>
using namespace std;
int main(){
long long n;
long long a[100];//看数据量赋值
while(cin>>n){//循环输入
a[1]=1;
a[2]=2;
for(int i=3;i<=n;i++){
a[i]=a[i-1]+a[i-2];
}
cout<<a[n]<<endl;
}
return 0;
}