HNU程序设计 练习二-编程基础(强化)

1.小猴与香蕉

【问题描述】

       一只小猴想去商店里购买 w 只香蕉,它购买第一只香蕉需要 k 元,购买第2只香蕉需要 2k 元,以此类推,购买第 i 只香蕉需要 ik 元,然而它只有 n 元, 那么它还需要向它的朋友借多少元?

【输入形式】

      输入为一行,包含三个数 knw (1≤ kw ≤1000,0 ≤ n ≤ 109)。

【输出形式】

      输出为一个整数,表示小猴购买 w 只香蕉需要向它朋友所借的钱数,如果不需要借,则输出0。

【样例输入】

3 17 4

【样例输出】

13

//小猴与香蕉
// 一只小猴想去商店里购买 w 只香蕉,它购买第一只香蕉需要 k 元,
//购买第2只香蕉需要 2k 元,以此类推,购买第 i 只香蕉需要 i●k 元,然而它只有 n 元,
//那么它还需要向它的朋友借多少元?
#include<iostream>
using namespace std;
int main()
{
	int k,n,w;
	cin>>k>>n>>w;
	int sum=k*(w+1)*w/2; //计算需要钱数 (1+2+..+w)*k
	int res=n>=sum? 0:sum-n;   //利用三目运算符判断需不需要借钱 
	cout<<res<<endl;
	return 0;
}

2.铺地砖

【问题描述】

       有一个房间,大小为 M×N m2,小王准备用尺寸为 2×1 m2的瓷砖铺满整个房间,每块瓷砖铺贴时可以旋转且尽可能不做切割。请问小王至少需要准备多少块这样的瓷砖?

【输入形式】

      输入为两个整数 M 和 N,表示房间的大小。

【输出形式】

      输出为一个整数,表示小王铺满整个房间至少需要准备的瓷砖数。
【样例输入1】

3 3

【样例输出1】

5

【样例输入2】

2 4

【样例输出2】

4

3.老鼠爱大米

【问题描述】

        两只老鼠兄弟分别去偷大米,它们事先约定,老大偷到的大米,必须留下1/3作为储备粮,老二必须留下1/4,剩下的它们可以自己吃掉。现給出老大和老二本次偷得的大米数,且假定它们所偷得的大米数总是为整数。求老鼠兄弟本次可以有多少储备大米?

【输入形式】

       输入为两个整数,表示老鼠兄弟所偷得的大米数。
【输出形式】

       输出为一个数,表示最后老鼠兄弟本次可以获得的储备大米数,保留两位小数。
【样例输入】

12 16

【样例输出】

8.00
//老鼠爱大米
//两只老鼠兄弟分别去偷大米,它们事先约定,老大偷到的大米,
//必须留下1/3作为储备粮,老二必须留下1/4,剩下的它们可以自己吃掉。
//现給出老大和老二本次偷得的大米数,且假定它们所偷得的大米数总是为整数。求老鼠兄弟本次可以有多少储备大米?
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
	int x1,x2;
	cin>>x1>>x2;
	double res=x1*1.0/3+x2*1.0/4;
	cout<<fixed<<setprecision(2)<<res<<endl; //保留两位小数 
	return 0;
}

4.分西瓜 

【问题描述】

      今年夏天特别热,阿迪和朋友两人决定去买个西瓜然后分着吃,西瓜的重量为 w,他们两人都是偶数迷,将西瓜分为两份,他们能否都得到重量为偶数的西瓜?

【输入形式】

       输入为一个整数 w(1≤ w ≤5×1010),表示西瓜的重量。

【输出形式】

       如果西瓜的重量能被分为两个偶数,输出"Yes",否则输出"No"。

【样例输入】

 8

【样例输出】

Yes
//分西瓜
//今年夏天特别热,阿迪和朋友两人决定去买个西瓜然后分着吃,
//西瓜的重量为?w,他们两人都是偶数迷,将西瓜分为两份,他们能否都得到重量为偶数的西瓜?
#include<iostream>
using namespace std;
int main()
{
	long long w; //注意数据类型,数据较大用long long 
	cin>>w;
	if(w%2==0 && w!=2){ //保证原数是偶数,且!=2,特殊情况=2时候不合题意 
		cout<<"Yes"<<endl;
	} else{
		cout<<"No"<<endl;
	}
	return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值