把标准化结果放大为百分之一整数,直接拆出正态分布表的行号与列号。
OJ: shumeng
题目 ID: CSP202506A
难度:入门
标签:数学模拟
日期: 2026-07-31 16:21
形式化题目
给定查询参数
思路
关键是避免浮点误差,把小数定位转换成整数运算。
放大为整数
可以精确整除,得到整数 hundredths,它表示
拆出行列号
hundredths / 10 是十位数(hundredths % 10 是百分位,加
代码
cpp
/**
* Author by Rainboy blog: https://rainboylv.com github: https://github.com/rainboylvx
* rbook: -> https://rbook.roj.ac.cn https://rbook2.roj.ac.cn
* rainboy的学习导航网站: https://idx.roj.ac.cn
* create_at: 2026-07-31 16:21
* update_at: 2026-08-17 22:53
*/
#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int k;
cin >> k;
while (k--) {
long long mu, sigma, n;
cin >> mu >> sigma >> n;
// 标准化的查表值 (n-mu)/sigma,放大 100 倍化为整数。
// 因为 sigma 是 100 的因子,这里可精确整除,避免浮点误差。
long long hundredths = (n - mu) * 100 / sigma;
// 十分位决定行号,百分位决定列号,下标均从 1 开始
cout << hundredths / 10 + 1 << ' ' << hundredths % 10 + 1 << '\n';
}
return 0;
}复杂度
每个查询
总结
查表定位本质上是按

