第五次作业
最大公约数和最小公倍数
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| #include<iostream> using namespace std; int gcd(int a,int b){ return b?gcd(b,a%b):a; }
int main(){ int a,b; cin>>a>>b; int c=gcd(a,b); cout<<c<<" "<<a*b/c<<endl; return 0; }
|
2.写一个函数,由键盘输入一个数,输出其是否为素数。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| #include<iostream> #include<cmath> using namespace std; bool prime(int a){ if(a==1) return 0; if(a==3||a==2) return 1; for(int i=2;i<=sqrt(a);i++) { if(a%i==0) { return 0; } } return 1; } int main(){ int a; cin>>a; if(prime(a)){ cout<<a<<"是素数"<<endl; }else{ cout<<a<<"不是素数"<<endl; } }
|
3.写一个函数,将输入的一个字符串按反序存放。在主函数中输入和输出字符串。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| #include<iostream> using namespace std; string inv(string a){ string b; int len=a.size(); for(int i=len-1,j=0;i>=0;i--,j++){ b.push_back(a[i]); } return b; } int main(){ string a,b; cin>>a; b=inv(a); cout<<b; return 0; }
|
实现一个简单的计算器
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| #include<iostream> using namespace std; int add(int a,int b){ return a+b; } int minu(int a,int b){ return a-b; } int mul(int a,int b){ return a*b; } int chu(int a,int b){ return a/b; } int main(){ int a,b,result; char c; cin>>a>>c>>b; switch(c){ case '+': result=add(a,b);break; case '-': result=minu(a,b);break; case '*': result=mul(a,b);break; case '/': result=chu(a,b);break; } cout<<result<<endl; return 0; }
|
海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子平均分为五份,多了一个,这只猴子把多的一一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| #include<iostream> using namespace std; int main(){ int i; int j=1; int x; while(1){ x=4*j; for(i=0;i<5;){ if(x%4!=0)break; else{ x=(x/4)*5+1; i++; } } j++; if(i==5)break; } printf("%d",x); return 0; }
|