Moodle Moodle Clone
AWS IOTA
proc heapify(high: int, in idx: int, arr: [1..high] int){ | |
while(true){ | |
var largest = idx; | |
var left = 2*idx; | |
var right = 2*idx + 1; | |
if(left <= high && arr(largest) < arr(left)){ | |
largest = left; | |
} | |
if(right <= high && arr(largest) < arr(right)){ | |
largest = right; |
proc quicksort(low: int, high: int, arr: [low..high] int){ | |
if(low >= high){ | |
return; | |
} | |
var mid = arr(low + ((high - low) / 2)); | |
var i = low - 1; | |
var j = high + 1; | |
while(true){ | |
do{ | |
i += 1; |
proc mergesort(n: int, arr: [1..n] int){ | |
if(n == 1){ | |
return; | |
} | |
var midl = n / 2; | |
var midr = n - midl; | |
var left: [1..midl] int; | |
var right: [1..midr] int; | |
for i in 1..midl{ |
#include <iostream> | |
#include <boost/multiprecision/cpp_int.hpp> | |
#include <boost/multiprecision/number.hpp> | |
using namespace boost::multiprecision; | |
using namespace std; | |
int main() | |
{ |
#include <iostream> | |
#include <boost/math/constants/constants.hpp> | |
#include <boost/multiprecision/cpp_bin_float.hpp> | |
#include <boost/multiprecision/number.hpp> | |
#include <numeric> | |
using namespace boost::multiprecision; | |
typedef cpp_bin_float_50 num; |
#include <chrono> | |
#include <cstring> // For memcpy, memset | |
#include <exception> | |
#include <iomanip> | |
#include <iostream> | |
#include <string> | |
#define KARATSUBA_CUTOFF(type) static_cast<type>(50) | |
class NumberBase { |
#include <cmath> | |
#include <iomanip> | |
#include <iostream> | |
#include <utility> | |
double sqrt(double a) { | |
double b = a; | |
double diff = a - (b * b); | |
while (diff >= 1e-15 || diff <= -1e-15) { | |
b = (b + a / b) / 2; |
#include <iostream> | |
#include <type_traits> | |
template <class T> | |
class check_new_interface { | |
template <class R> | |
static auto check(int) -> decltype(std::declval<R>().getValue(0, 0)); | |
template <class> | |
static double check(double); |