C++题解 P6314 1.水浒(CSP J R组模拟赛)

水浒

时间限制:C/C++ 1000MS,其他语言 2000MS
内存限制:C/C++ 256MB,其他语言 512MB
难度:普及

描述

题目背景

大河向东流哇,天上的星星参北斗哇。 ——《好汉歌》

题目描述

天上好多星星啊!已知一颗星星到 33DAI 的距离为 a 米,而 33DAI 可以使用曲率引擎,每次可以移动 b 米。他只能对着星星向前移动,且不能碰到或越过星星,求他最近可以离星星多近。

形式化地说,即输入两个大于 0 的实数 a,b(a>b 且 a 不是 b 的倍数),在满足 a>k×b 的基础上,输出 a−k×b(k 是一个大于等于 0 的整数) 的最小值。绝对误差或相对误差不超过 10−6 即可。

显然,C++ 的 % 不能计算 double 类型之间的模运算。

10−6=1061​=0.000001

输入描述

输入一行,空格隔开的两个大于 0 的实数 a,b。

输出描述

输出他最近可以离星星多近。绝对误差或相对误差不超过 10−6 即可。

3.3333333 1
0.3333333

使用 3 次曲率引擎即可达成,如果使用第 4 次就会越过星星了。

10 3
1

整数当然也是实数。

用例输入 1 

3.3333333 1
用例输出 1 
0.3333333

用例输入 2 

10 3

用例输出 2 

1

提示

数据规模与约定

对于 100% 的数据,0

  • 子任务 1(30 分):保证 a,b 都是整数,输入时没有小数点和小数部分。
  • 子任务 2(30 分):保证 b
  • 子任务 3(40 分):没有特殊限制。

吐槽一下:

看一下这闪亮的标题:

水浒

题目背景
大河向东流哇,天上的星星参北斗哇。 ——《好汉歌》
真好听………

本体思路:

就是一道简单的除法题,就不在这啰嗦了。

#include//头文件
using namespace std;
double a,b;//定义
long long c;//定义
int main() {
    scanf("%lf%lf",&a,&b);//输入
    c=a/b;//整除
    a-=(c*1.0*b);//减去整除的部分
    cout<

你可能感兴趣的:(c++,算法,开发语言)