2 solutions
-
0
题目来源
2021年蓝桥省赛第二场G题
题目链接:http://acm.mangata.ltd/p/P1164
考点
暴力枚举
视频讲解
视频连接:https://www.bilibili.com/video/BV11q4y1k7Dm/
思路
我们只需要从1枚举到n-1,你然后在枚举的过程中计算一下当前位置的平方,然后再对n取模,如果余数是小于n的一半那么我们就记录下来,否则我们就不记录,最后输出我们记录的个数即可
代码
#include<bits/stdc++.h> using namespace std; //----------------自定义部分---------------- #define ll long long #define mod 1000000009 #define endl "\n" #define PII pair<int,int> int dx[4]={0,-1,0,1},dy[4]={-1,0,1,0}; ll ksm(ll a,ll b) { ll ans = 1; for(;b;b>>=1LL) { if(b & 1) ans = ans * a % mod; a = a * a % mod; } return ans; } ll lowbit(ll x){return -x & x;} const int N = 2e6+10; //----------------自定义部分---------------- int n,m,q,a[N]; int main() { cin>>n; int ans = 0; for(int i = 1;i < n ; ++i) { int x = (i * i % n) * 2; if(x < n) ans++; } cout<<ans<<endl; return 0; }
- 1
Information
- ID
- 188
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 2
- Tags
- # Submissions
- 184
- Accepted
- 118
- Uploaded By