目录
下期在更三道。
第一道
最小公倍数
题目描述:1
【问题描述】1
求两个整数M和N的最小公倍数。
【输入格式】1
输入一行,包括两个整数.
【输出格式】1
输出只有一行(这意味着末尾有一个回车符号),包括1个整数。
【输入样例】1
45 60
【输出样例1
180
提示1
其实不用while或for,用一个叫做__gcd(x,y) 的函数就可以了。他是求最大公约数的。用公式x*y/__gcd(x,y);输出就可以了(bits/stdc++.h 万能头)
代码1
#include <bits/stdc++.h>
using namespace std;
int n,m;
main() {
cin>>n>>m;
cout<<n*m/__gcd(n,m);
}
#include <bits/stdc++.h>
using namespace std;
int n,m;
main() {
cin>>n>>m;
cout<<n*m/__gcd(n,m);
}
第二道
最大公约数
题目描述2
【问题描述】2
、 求最大公约数:求m,n的最大公约数
【输入格式】2
输入2个正整数 m,n
【输出格式】2
输出最大公约数
【输入样例】2
28 6
【输出样例】2
yue:2
提示2
嗯,上次用的__gcd起作用了。
代码2
#include <bits/stdc++.h>
using namespace std;
int n,m;
main() {
cin>>n>>m;
cout<<"yue:"<<__gcd(n,m);
}
#include <bits/stdc++.h>
using namespace std;
int n,m;
main() {
cin>>n>>m;
cout<<"yue:"<<__gcd(n,m);
}
第三道
角谷猜想
【问题描述】3
在数学上,有一个称为角谷猜想(最早由日本数学家角谷静夫提出)的经典题,其内容是:“对任意的正整数n,若为偶数,则把它除以2,若为奇数,则把它乘以3加1。经过如此有限次运算后,总可以得到正整数值1”。
请你编一个程序,根据输入的正整数n,输出以上运算过程。
【输入格式】3
输入数据仅一行包含一个正整数n(2≤n≤100)。
【输出格式】3
一行输出一次运算的算式,算式中除了运算符号、等号及数字以外不包含其它任何字符。
【输入样例】3
3
【输出样例】3
3*3+1=10
10/2=5
5*3+1=16
16/2=8
8/2=4
4/2=2
2/2=1
提示3
只要while判断是否等于1,里面判断是否是偶数和奇数做各个事情,就行了。
代码3
#include <bits/stdc++.h>
using namespace std;
int n,m,i;
main() {
cin>>n;
for (i=1;n!=1;i++) {
cout<<n;
if(n%2==1)cout<<"*3+1",n=n*3+1; else cout<<"/2",n/=2;
cout<<"="<<n<<"\n";
}
}
#include <bits/stdc++.h>
using namespace std;
int n,m,i;
main() {
cin>>n;
for (i=1;n!=1;i++) {
cout<<n;
if(n%2==1)cout<<"*3+1",n=n*3+1; else cout<<"/2",n/=2;
cout<<"="<<n<<"\n";
}
}
今天的特邀嘉宾是......
C-DHEnry!!
如果你上次登进他的网站。你肯定认识他。
那么......
不妨给他一个关注吧!