2019 UMS 교육 Day6 문제 풀이 보고서
링크:https://www.luogu.org/problem/P2520
$sol:$수학적 유도
코드:
#include
typedef int intt;
#define int long long
using namespace std;
int a, b, x, y, t, d;
int gcd(int a, int b) { return b == 0 ? a : gcd(b, a % b); }
bool check(int x, int y) { return (x % d == 0 && y % d == 0) || ((x + a) % d == 0 && (y + b) % d == 0) || ((x + b) % d == 0 && (y + a) % d == 0) || ((x + a + b) % d == 0 && (y + a + b) % d == 0); }
intt main() {
cin >> t;
while(t--) {
cin >> a >> b >> x >> y;
d = gcd(a, b) << 1;
check(x, y) ? (cout << "Y" << endl) : (cout << "N" << endl);
}
return 0;
}
T2:
링크:https://www.luogu.org/problem/P4626
$sol$: 오라체는 범위 내의 소수를 처리하고 소수의 최고 차멱으로 표시하면 최종 결과에 도달할 수 있습니다.이 카드 공간 카드는 항상 $bitset$등의 기술을 사용하여 최적화해야 합니다.
코드:
// luogu-judger-enable-o2
#include
#include
#include
const int MAXN = 100000005;
const int mod = 100000007;
typedef long long ll;
using namespace std;
bitset vis;
int n, cnt, prime[10000005];
ll ans = 1;
void get_prime() {
for(register int i = 2; i <= n; i++) {
if(!vis[i])
prime[++cnt] = i;
for(register int j = 1; i * prime[j] <= n && j <= cnt; j++) {
vis[i * prime[j]] = 1;
if(i % prime[j] == 0)
break;
}
}
}
ll calc(int x) {
ll ans = x;
while(ans <= n)
ans = ans * x;
return ans / x % mod;
}
int main() {
ios::sync_with_stdio(false);
cin >> n;
get_prime();
for(int i = 1; i <= cnt; i++)
ans = (ans * calc(prime[i]) % mod) % mod;
cout << ans % mod << endl;
return 0;
}
T3:
링크:https://www.luogu.org/problem/P1516
$sol$: 방정식을 풀 수 없습니다. 마지막으로 풀 범위에 주의하십시오.
코드:
#include
typedef long long ll;
using namespace std;
ll x, y, m, n, l;
ll exgcd(ll a, ll b, ll &x, ll &y) {
if(b == 0) {
x = 1;
y = 0;
return a;
}
ll gcd = exgcd(b, a % b, x, y);
ll t = x;
x = y;
y = t - a / b * y;
return gcd;
}
int main() {
cin >> x >> y >> m >> n >> l;
ll a = n - m, c = x - y;
if(a < 0) {
a *= -1;
c *= -1;
}
ll gcd = exgcd(a, l, x, y);
if(c % gcd != 0) {
cout << "Impossible" << endl;
return 0;
}
l /= gcd;
cout << (x * (c / gcd) % l + l) % l << endl;
return 0;
}
전재 대상:https://www.cnblogs.com/BeyondLimits/p/11325083.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.