目录
老师的烦恼
题目描述
徐老师想在有生之年买一辆大黄蜂,已知大黄蜂售价 50 万,但是老师现在只有 x 万。银行年利率是 10%,老师想知道,如果把这笔钱存进银行,多少年之后才能买得起大黄蜂。老师算不来,只能求助同学们了。
Note:设原有 10 万,则二年后存款有 10∗1.1∗1.1=12.1 万
输入格式
一行,一个正整数 x,表示徐老师原有的钱。
输出格式
一个整数.
样例输入
10
样例输出
17
AC代码
#include <bits/stdc++.h>
using
namespace
std;
int
main() {
double
x,cnt=0;
cin>>x;
for
(
int
i=1;;i++){
if
(x>=50){
cout<<cnt;
break
;
}
x=x*1.1;
cnt++;
}
return
0;
}
角谷猜想
题目描述
所谓角谷猜想,是指对于任意一个正整数,如果是奇数,则乘3加1,如果是偶数,则除以2,得到的结果再按照上述规则重复处理,最终总能够得到1。如,假定初始整数为5,计算过程分别为16、8、4、2、1。
程序要求输入一个整数 x,将数的变化过程输出来。具体格式请看样例。
输入格式
一行,一个正整数 x。
输出格式
数的变化过程,以“End”结束。
样例输入
5
样例输出
5*3+1=16 16/2=8 8/2=4 4/2=2 2/2=1 End
AC代码
#include <bits/stdc++.h>
using
namespace
std;
int
main()
{
long
long
n;
int
pos;
cin>>n;
while
(n != 1) {
pos++;
if
(n % 2 == 0){
cout<<n<<
"/2="
<<n/2<<endl;
n /= 2;
}
else
{
cout<<n<<
"*3+1="
<<3*n+1<<endl;
n = 3 * n + 1;
}
}
cout<<
"End"
;
return
0;
}
整数的各位之和
题目描述:
求输入的一个整数的各位之和。
输入格式:
输入一行,包含一个整数。
输出格式:
一个整数.
样例输入:
123
样例输出:
6
AC代码
#include<iostream>
using
namespace
std;
int
main()
{
int
n;
cin>>n;
int
sum=0,m;
m=n;
while
(m!=0)
{
n=m%10;
m=m/10;
sum=sum+n;
}
cout<<sum<<endl;
return
0;
}
调和级数
题目描述
有一等式 s=11+12+13+14+…+1n。
对于给定的 k,请问 s>=k 时,n的最小值为多少。
输入格式
一行,一个正整数 k,表示给定的 k 值。
输出格式
一个整数.
样例输入
2
样例输出
4
AC代码
#include<bits/stdc++.h>
using
namespace
std;
int
main()
{
int
a;
double
s=0;
cin>>a;
for
(
int
i=1;;i++){
s+=(
double
)(1*1.0/i);
if
(s>=a){
cout<<i<<endl;
break
;
}
}
return
0;
}
求倒数之和
题目描述:
编写程序实现输入已知整数 n,计算:11+12+13+14+…+1n 的值。(保留6位小数)
输入格式:
输入一行,包含一个整数 n
输出格式:
输出一个浮点数。保留六位小数。
样例输入:
2
样例输出:
1.500000
AC代码
#include<bits/stdc++.h>
using
namespace
std;
int
main()
{
int
a;
double
s=0;
cin>>a;
for
(
int
i=1;i<=a;i++)
s+=(
double
)(1*1.0/i);
cout<<fixed<<setprecision(6)<<s<<endl;
return
0;
}
小玉在游泳
题目描述:
小玉开心的在游泳,可是她很快难过的发现,自己的力气不够,游泳好累哦。已知小玉第一步能游2米,可是随着越来越累,力气越来越小,她接下来的每一步都只能游出上一步距离的98%。现在小玉想知道,如果要游到距离x米的地方,她需要游多少步呢。请你编程解决这个问题。
输入格式:
输入一个数字(不一定是整数,小于100m),表示要游的目标距离。
输出格式:
输出一个整数,表示小玉一共需要游多少步。
样例输入1:
4.3
样例输出1:
3
AC代码
#include<iostream>
using
namespace
std;
int
main()
{
double
distance,temp=2.0,total=0;
int
i;
cin>>distance;
for
(i=1;;i++)
{
total+=temp;
//总路程
temp*=0.98;
//每步游出的距离
if
(total>distance)
break
;
//当总路程大于目标距离时,终止循环
}
cout<<i<<endl;
//输出步数
return
0;
}