每日刷题计划-2-2

149 阅读3分钟

「这是我参与2022首次更文挑战的第14天,活动详情查看:2022首次更文挑战

BC111 小乐乐与进制转换

描述

小乐乐在课上学习了二进制八进制与十六进制后,对进制转换产生了浓厚的兴趣。因为他的幸运数字是6,所以他想知道一个数表示为六进制后的结果。请你帮助他解决这个问题。

输入描述:

输入一个正整数n (1 ≤ n ≤ 109)

输出描述:

输出一行,为正整数n表示为六进制的结果

示例1

输入:

6

复制

输出:

10

复制

示例2

输入:

120

复制

输出:

320

复制

#include<stdio.h>
//n:123
//123 ->320
//123%10 ->3    取
//123/10=12
//12%10 -> 2   取
//12/10 = 1
//1%10 -> 1     取
//1/10=0

//所以方法:%6 /6循环直到n为0
int main()
{
    long long n = 0;
    long long arr[40] = {0};  //取模之后的值放到数组中,倒叙打印
    scanf("%lld",&n);
    //要保证数组能存放%6的所有数, 10^9 %6 
    int i = 0;
    while(n)
    {
        arr[i] = n%6;
        i++;
        n /= 6;
    }
    //跳出循环时的上一步while中执行了i++
    //所以for循环起始条件为i--
    //倒叙打印
    for(i-- ; i >=0; i--)
    {
        printf("%lld",arr[i]);
    }
    return 0;
}

BC112 小乐乐求和

描述

小乐乐最近接触了求和符号Σ,他想计算img的结果。但是小乐乐很笨,请你帮助他解答。

输入描述:

输入一个正整数n (1 ≤ n ≤ 109)

输出描述:

输出一个值,为求和结果。

示例1

输入:

1

复制

输出:

1

复制

示例2

输入:

10

复制

输出:

55

复制

#include<stdio.h>
int main()
{
    long long n = 0;
    //输入n的值
    scanf("%lld",&n);
    long long sum = 0;
    int i = 0;
    for(i = 1; i <=n; i++)
    {
        sum+=i;
    }
    printf("%lld\n",sum);
    return 0;
}
//注意n的范围很大,所以sum和n的类型应该定义为long long

BC113 小乐乐定闹钟

描述

小乐乐比较懒惰,他现在想睡觉,然后再去学习。他知道现在的时刻,以及自己要睡的时长,想设定一个闹钟叫他起床学习,但是他太笨了,不知道应该把闹钟设定在哪个时刻,请你帮助他。(只考虑时和分,不考虑日期)

输入描述:

输入现在的时刻以及要睡的时长k(单位:minute),中间用空格分开。

输入格式:hour:minute k(如hour或minute的值为1,输入为1,而不是01)

(0 ≤ hour ≤ 23,0 ≤ minute ≤ 59,1 ≤ k ≤ 109)

输出描述:

对于每组输入,输出闹钟应该设定的时刻,输出格式为标准时刻表示法(即时和分都是由两位表示,位数不够用前导0补齐)。

示例1

输入:

0:0 100

复制

输出:

01:40

复制

示例2

输入:

1:0 200

复制

输出:

04:20

复制