云上day-06

文章详细展示了如何使用C、C++和Java中的pow函数解决未来人口数量计算问题,涉及基础数学和程序实现。
摘要由CSDN通过智能技术生成

题目描述

假设目前的世界人口有 x 亿,按照每年 0.1% 的增长速度,n 年后将有多少人?

题目链接:B2063 人口增长问题 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

输入格式

一行两个正整数 x 和 n,之间有一个空格。其中,1≤ x ≤100,1≤ n ≤100。

输出格式

一行一个数,表示答案。以亿为单位,保留到小数点后 4 位。

解题思路

  1. 输入数据 x 和 n 
  2. 通过数学表达式求得 n 年后的人数
  3. 输出结果

解题代码

C代码

#include<stdio.h>
//有关数学的函数都会用math.h的头文件
#include<math.h> //pow函数需要math.h头文件
int main(){
    //输入数据
	int x,n;
	scanf("%d %d",&x,&n);

    //计算
	double sum = x * pow(1.001,n);//pow(a,b)表示a的b次方

    //输出数据
	printf("%.4lf",sum);
	return 0;
}

C++代码

#include<iostream>
//cmath头文件用于数学计算的函数
#include<cmath>

using namespace std;

int main()
{
    int x,n;
    cin>>x>>n;
    printf("%.4lf",x*pow(1 + 0.001,n));
    return 0;
}

Java代码

//导包
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        //输入数据
        Scanner scanner = new Scanner(System.in);
        int x = scanner.nextInt();
        int n = scanner.nextInt();

        //求得n年后的人数
        //Math类中的静态方法pow(a,b):表示求a的b次幂是多少
        double sum = x * Math.pow(1.001,n);
        
        //格式化输出数据:保留四位小数
        String string = String.format("%.4f",sum);
        System.out.println(string);
    }
}

补充知识

有关数学计算的函数如下:

求a的b次方

int a = 2, b = 3;
int c = pow(a,b); //表示a的b次方

取绝对值

//取整数的绝对值
int a = -5;
int b = abs(a);
printf("%d",b); //输出5
//取小数的绝对值
double a = -5.1234;
double b = fabs(a);
print("%lf",b); //输出5.1234

求e的x次方

double a = 1.2;
double b = exp(a); //表示求e的a次方

求非负整数的平方根

int a = 4;
int b = sqrt(a);
printf("%d",b); //输出2

求以自然对数e为底的对数

double a = 13.4;
double b = log(a);
printf("%.3lf",b); //输出2.595

求以10为底的对数

double a = 25;
double b = log10(a);
printf("%.3lf",b); //输出1.398
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值