运费计算
内存限制: 256 Mb时间限制: 1000 ms
题目描述
快递运费的计算规则如下:
重量在 1000克以内(包含 1000)的物品,应收取基础运费 12 元;
超出上述首重规则的物品,超重部分每 500 克加收运费 5 元,不足 500 克的部分按 500 克计算。
给定一个正整数 a,表示将要寄出的物品重量,请计算需要支付的运费。
输入格式
单个整数:表示寄送物品的重量 a克。
输出格式
单个整数:表示需要支付的运费。
数据范围
1 ≤ a ≤ 100000 1\leq a\leq 100000 1≤a≤100000
样例数据
输入:
800
输出:
12
说明:
不足首重,只支付基础运费
输入:
1800
输出:
22
分析
简单数学题。
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int a;
scanf("%d", &a);
a -= 1000;
if (a <= 0)
printf("12");
else {
int t = a / 500, tm = 0;
if (a - t * 500)
tm = 1;
printf("%d", 12 + t * 5 + tm * 5);
}
return 0;
}
阶乘的余数
内存限制: 256 Mb时间限制: 1000 ms
题目描述
n 的阶乘记为 n ! n! n!,定义如下:
n ! = 1 × 2 × ⋯ × n n! = 1 \times 2 \times \cdots \times n n!=1×2×⋯×n
给定两个正整数 n 与 m,请计算 n ! n! n! 除以 m 的余数。
输入格式
第一行:两个整数表示 n 与 m。
输出格式
单个整数:表示 n ! n! n! 除以 m 的余数。
数据范围
对于 30% 的数据,1≤n≤10;
对于 60% 的数据,1≤n,m≤10000;
对于 100% 的数据,1≤n,m≤1,000,000;
样例数据
输入:
5 1000
输出:
120
说明:<