今日份的坑~Double

简介: 今日份的坑~Double

T^T(2)

题目传送门

解题思路:

这个题就是要求t的t次方,然后数出这个数一共有多少位。然后肯定不能求出这个具体的数,它会超出int的范围。

采取的方法:

[log10(n)] + 1 [] 表示取整。举个例子吧,比如 100: log10(100) = 2 取整以后就是2,然后加1,所以是3位。

(同时在运用上高中学的对数运算:log10(t^t)=log10t * log10t *…一共t个乘在一起… *log10t =t *log10t.)

#include<stdio.h>
int main()
{
    int a;
    long long b;
    while(scanf("%d",&a) != EOF)
    {
        b = a * log10(a);
        printf("%lld\n",b + 1);
    }
    return 0;
}

PS:要用long long ,因为超出了int 的范围……输出时是"%lld\n".

火灾逃生(一维版)

题目传送门

解题思路:

该题通读下来,就是让求最慢的那个人逃生的时间,当两个人碰面的时候,可以理解为两个人擦身而过了。(毛大佬管这叫脑筋急转弯……)这样,那个最慢的人也就是,那个t=0时,离面向的那个出口最远的人,距离即为所求。

(PS:emmmmm,可以画画图理解一下这个过程!)


#include <stdio.h>
int main(void){
    int sum;
    int n,a,b,i,j;
    int m,q,f;
    scanf("%d",&n);
    for (i = 0; i < n; i++){
        sum = 0;
        scanf("%d%d",&a,&b);
        for (j = 0; j < a; ++j){
            f = 0;
            scanf("%d%d",&m,&q);
            if (q == 1)
                f = b-m;
            else
                f = m;
            if  (sum<f)
                sum = f;
            else
                sum = sum;
        }
        printf("%d\n",sum);
    }
    return 0;
}


相关文章
|
7月前
|
存储 Java
BigDecimal类型的数据如何保留小数点后四位
BigDecimal类型的数据如何保留小数点后四位
221 0
|
16天前
|
测试技术 Python
将秒换算成时、分、秒
本文介绍了使用Python将总秒数转换为小时、分钟和秒的格式的方法,包括定义转换函数和格式化输出函数,并提供了完整的代码实现及测试用例,帮助用户更友好地展示时间信息。
84 59
|
2月前
输出双精度(double)数
【10月更文挑战第12天】输出双精度(double)数。
24 6
|
5月前
|
存储 编译器 C++
C++从遗忘到入门问题之float、double 和 long double 之间的主要区别是什么
C++从遗忘到入门问题之float、double 和 long double 之间的主要区别是什么
float与double精度丢失问题
float与double精度丢失问题
125 0
BigDecimal 比较大小及保留两位及取非负数
BigDecimal 比较大小及保留两位及取非负数
106 0
PTA 1087 有多少不同的值 (20 分)
当自然数 n 依次取 1、2、3、……、N 时,算式 ⌊n/2⌋+⌊n/3⌋+⌊n/5⌋ 有多少个不同的值?
74 0
PTA 1017 A除以B (20 分)
本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数。你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立。
105 0
h0125. 求sum(2) (15 分)
h0125. 求sum(2) (15 分)
62 0
L1-037 A除以B (10 分)
L1-037 A除以B (10 分)
136 0