P8753 [蓝桥杯 2021 省 AB2] 小平方

· · 题解

Description

P8753 [蓝桥杯 2021 省 AB2] 小平方

1n-1 中, 有多少个数平方后除以 n 的余数小于 n 的一半。

数据范围:1 \leq n \leq 10000

Analysis

入门题,设立一个游标 i,使得 i \in [1,n-1],按题意模拟即可。

唯一的一个注意点是:因为 n 是整数,而 \dfrac{n}{2} 会自动向下取整,所以需要转换为 double 类型。

Code

#include <bits/stdc++.h>
using namespace std;
int n,ans;
int main()
{
    scanf("%d",&n);
    for (register int i=1;i<n;++i)
    {
        int mod=i*i%n;
        double half=n/2.0;//转换成double类型
        if(mod<half) 
            ans++;
    }
    printf("%d",ans);
    return 0;
}