自学内容网 自学内容网

[蓝桥杯 2021 省 AB2] 小平方

题目描述

小蓝发现,对于一个正整数 nn 和一个小于 nn 的正整数 vv,将 vv 平方后对 nn 取余可能小于 nn 的一半,也可能大于等于 nn 的一半。

请问,在 11 到 n−1n−1 中, 有多少个数平方后除以 nn 的余数小于 nn 的一半。

例如,当 n=4n=4 时,1,2,31,2,3 的平方除以 44 的余数都小于 44 的一半。

又如,当 n=5n=5 时, 11,44 的平方除以 55 的余数都是 11,小于 55 的一半。而 22,33 的平方除以 55 的余数都是 44, 大于等于 55 的一半。

输入格式

输入一行包含一个整数 nn 。

输出格式

输出一个整数,表示满足条件的数的数量。

输入样例

5

输出样例

2

代码示例
 

import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int n = scan.nextInt();
        int ans = 0;
        for(int i = 1; i < n ; i++) {
        long res = i*i;
        res%=n;
        if(res*2<n)
        ans++;
        }
        System.out.print(ans);
    }
}


原文地址:https://blog.csdn.net/2301_76711398/article/details/144012722

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!