1244 -
请问一个正整数能够整除几次
2
题目描述
请问一个正整数
n
能够整除几次
2
?
比如:
4
可以整除
2
次
2
,
100
可以整除
2
次
2
,
9
可以整除
0
次
2
。
输入
从键盘读入一个正整数
n
输出
输出一个整数,代表
n
能够整除
2
的次数
样例
输入复制
8
#include<iostream>
using namespace std;
int main()
{
int n;
int sum = 0;
cin>>n;
while(n%2==0)
{
n = n/2;
sum++;
}
cout<<sum;
return 0;
}
1261 -
韩信点兵
题目描述
韩信有一对士兵,他想知道有多少人,他就让士兵报数,如果按照
1
到
5
报数,最末一个士兵报的数为
1
;按照
1
到
6
报数,最末一个士兵报的数为
5
;按照
1
到
7
报数,最末一个士兵报的数为
4
;最后再按
1
到
11
报数,最末一个士兵报的数为
10
,请问韩信这队士兵最少有多少人?
输入
无
3
输出
输出这队士兵最少有多少人
#include<iostream>
using namespace std;
int main()
{
int i = 1;
while(true)
{
if(i%5==1&&i%6==5&&i%7==4&&i%11==10)
{
break;
}
i++;
}
cout<<i;
return 0;
}
1241 -
角谷猜想
题目描述
日本一位中学生发现一个奇妙的定理,请角谷教授证明,而教授无能为力,于是产生了角谷猜想。猜想
的内容:任给一个自然数,若为偶数则除以
2
,若为奇数则乘
3
加
1
,得到一个新的自然数后按上面的法
则继续演算。若干次后得到的结果必为
1
。请编写代码验证该猜想:求经过多少次运算可得到自然数
1
。
如:输入
22
,则计算过程为。
22/2=11
11×3+1=34
34/2=17
17×3+1=52
52/2=26
26/2=13
13×3+1=40
40/2=20
20/2=10
10/2=5
5×3+1=16
16/2=8
8/2=4
4/2=2
2/2=1
经过
15
次运算得到自然数
1
。
输入
一行,一个正整数
n
。(
1 <= n <= 20000 )
输出
一行,一个整数,表示得到
1
所用的运算次数。
样例
输入复制
#include<iostream>
using namespace std;
int main()
{
int n;
cin>>n;
int cnt = 0;
while(n!=1)
{
if(n%2==0)
{
n=n/2;
}
else
{
n=n*3+1;
}
cnt++;
}
cout<<cnt;
return 0;
}
1062 -
求落地次数
题目描述
小球从
100
米高处自由落下,着地后又弹回高度的一半再落下。经过多少次落地后,小球弹起的高度才
会低于
0.5
米?
输入
无
输出
一行,一个整数。
#include<iostream>
using namespace std;
int main()
{
int n = 100;
int cnt = 0;
while(n>=0.5)
{
n = n/2;
cnt++;
}
cout<<cnt;
return 0;
}
1254 -
求车速
题目描述
一辆以固定速度行驶的汽车,司机在上午
10
点看到里程表上的读数是一个对称 数
(
即这个数从左向右读
和从右向左读是完全一样的
)
,为
95859
。两小时后里程表上 出现了一个新的对称数。问该车的速度是多
少?新的对称数是多少?
输入
无
输出
输出两行,第一行是车速,第二行是新的里程数(两个都是整数)
#include<iostream>
using namespace std;
int main()
{
int n =95859;
int n1 =95859;
while(true)
{
n++;
int g = n%10;
int s = n/10%10;
int q = n/1000%10;
int w = n/10000%10;
if(w==g&&s==q)
{
break;
}
cout<<n<<endl;
cout<<(n-n1)/2<<endl;
}
return 0;
}