Co to znaczy (a ̇b)/(c ̇d) ?

0

Mam takie zadanie Teokracja
No i nie wiem co oznaczają te kropki nad b i d (a ̇b)/(c ̇d) ?

EDIT:Szczególnie zastanawia mnie dlaczego dla danych 2 1 3 7 wychodzi tak duży wynik

3

Chyba o to chodzi: https://www.quora.com/What-does-a-dot-over-a-number-represent

Czyli jest to rekurencyjne zapisanie liczb w nieskończoność (?).
Jak masz 12 i jest kropka nad 2 to oznacza to mniejwiecej to: 1222222222222222222... u ciebie możliwe że będzie to limit 10^18.

Poza tym w c++ (jeżeli go używasz) zadanie wydaje się być w miarę proste, bo od c++11 masz unsigned long long int, którego wartość maksymalna to 10^19 i nie musisz pisać własnej klasy do dużych liczb.

0

@Czitels:
Coś tu jest chyba nie tak bo gdy wstawisz coś takiego do Pythona

((int('2' + '1' * 17))/(int('7' + '3' * 17))) % (1e9 + 696969)

to wynik równa się:
0.2878787878787879

EDIT:
Magia arytmetyki modularnej

#include <bits/stdc++.h>

using namespace std;

typedef unsigned long long int ull;

ull fastExponentation(ull a, ull b);
const ull MODULO = 1000696969;

int main()
{
	ull a, b, c, d;
	cin >> a >> b >> c >> d;

	cout << ((((a % MODULO) * (b % MODULO)) % MODULO) * fastExponentation(((c % MODULO) * (d % MODULO)) % MODULO, MODULO-2)) % MODULO;

	cin.ignore();
	cin.get();
}

ull fastExponentation(ull a, ull b)
{
	ull result = 1;

	while (b > 0)
	{
		if (b & 1)
			result = (result * a) % MODULO;

		a = (a * a) % MODULO;
		b >>= 1;
	}

	return result;
}

przechodzi na 100 pkt

1 użytkowników online, w tym zalogowanych: 0, gości: 1