洛谷 3道题目 题解(小玉是谁啊)

首先先看一下这3道水题:

No.1 :P1421 小玉买文具 

No.2 :P1422 小玉家的电费

No.3 :P1423 小玉在游泳

OK,现在开始上题解!

P1421 小玉买文具

题目描述

班主任给小玉一个任务,到文具店里买尽量多的签字笔。已知一只签字笔的价格是 1 元 9 角,而班主任给小玉的钱是 a 元 b 角,小玉想知道,她最多能买多少只签字笔呢。

输入格式

输入只有一行两个整数,分别表示 a 和 b。

输出格式

输出一行一个整数,表示小玉最多能买多少只签字笔。

输入输出样例

输入 #1

10 3

输出 #1

5

说明/提示

数据规模与约定

对于全部的测试点,保证 0≤a≤10^4,0≤b≤9。

思路:

虽然这题很水,但还是说一点:1元9角就是19角,a元b角就是(10a+b)角,所以输入a,b后先换算成角,再除以19就行

AC代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
    int a,b;
    cin >> a >> b;
    int c=a*10+b;
    cout<<c/19;
	return 0;
}

好短!

当然,我们还要——上个提交记录:

水题一道

P1422 小玉家的电费

题目描述

夏天到了,各家各户的用电量都增加了许多,相应的电费也交的更多了。小玉家今天收到了一份电费通知单。小玉看到上面写:据闽价电 [2006]27 号规定,月用电量在150 千瓦时及以下部分按每千瓦时 0.4463 元执行,月用电量在 151∼400千瓦时的部分按每千瓦时 0.4663 元执行,月用电量在 401千瓦时及以上部分按每千瓦时 0.5663 元执行;小玉想自己验证一下,电费通知单上应交电费的数目到底是否正确呢。请编写一个程序,已知用电总计,根据电价规定,计算出应交的电费应该是多少。

输入格式

输入一个正整数,表示用电总计(单位以千瓦时计),不超过 10000。

输出格式

输出一个数,保留到小数点后 1 位(单位以元计,保留到小数点后 1 位)。

输入输出样例

输入 #1

267

输出 #1

121.5

思路:

就是如果输入的数(为方便,以下简称N)小于150就输出0.4463N,如果是150~400就输出0.0463*150(就是66.945,当然应该也没人算这东西)+ 0.4663(N-150),大于400就输出0.0463*150 + 0.4663*250(183.52)+  0.5663(N-400) 就可以了(当然,某些东西可以去括号,你们想去就去吧,反正学了化简整式还有什么先化简再求值的我已经不想去括号了,对没错你没看错我5年级

AC代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
    double x;
    cin >>x ;
    if(x<=150)
    {
        printf("%.1lf",x*0.4463);
    }
    else if(x<=400)
    {
        double i=150*0.4463;
        double j=(x-150)*0.4663;
        printf("%.1lf",i+j);
    }
    else
    {
        double i=150*0.4463+250*0.4663;
        double j=(x-400)*0.5663;
        printf("%.1lf",i+j);
    }
	return 0;
}
提交记录:

???

P1423 小玉在游泳

题目描述

小玉开心的在游泳,可是她很快难过的发现,自己的力气不够,游泳好累哦。已知小玉第一步能游 2 米,可是随着越来越累,力气越来越小,她接下来的每一步都只能游出上一步距离的 98%。现在小玉想知道,如果要游到距离 s 米的地方,她需要游多少步呢。请你编程解决这个问题。

输入格式

输入一个实数 s(单位:米),表示要游的目标距离。

输出格式

输出一个整数,表示小玉一共需要游多少步。

输入输出样例

输入 #1

4.3

输出 #1

3

说明/提示

数据保证,0≤s<100,且 s 小数点后最多只有一位。

思路:

定义sum=0,i=2,cnt=0,然后一个循环,i每次*0.98,cnt++,sum大于等于s时结束循环,输出cnt即可

AC代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
    double s,sum=0.0,cnt=0;
    cin >> s;
    for(double i=2;sum<s;i*=0.98)
    {  
        sum+=i;
        cnt++;
    }
    cout<<cnt;
	return 0;
}
提交记录:

啥东西

OK,这就是以上3道题的全部内容,别急着走!我还有几句话:

大家最近应该发现了,洛谷的入门题目前面的题目几乎全被我写进了题解,但有一个例外,不知道大家有没有发现 P1320 压缩技术(续集版)对没错,就是这道题我没有写题解!当时我虽然AC了,但是讲不出来,所以没好意思写,最近我琢磨了一下,想明白了,下一篇就写!

另外,我发现一件奇怪的事:我的几个分类专栏突然都多了一个关注!特别是这个:CSP-S真题 对,你们没有看错,没文章,有订阅!所以我想问一下究竟是谁点了订阅?评论一下行吗?看你这么诚恳,要不要当我的铁粉呀?

这篇博客就到这里啦,我们P1320再见!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值