Skip to content

Instantly share code, notes, and snippets.

View andreuinyu's full-sized avatar

Andreu Punsola Soler andreuinyu

View GitHub Profile
from math import floor, sqrt
ap=True
while True:
p=int(input())
for i in range (2, floor(sqrt(p))+1):
if p%i==0:
ap=False
break
else:
ap=True
def sedas(n):
B, A = [], [True] * (n + 1)
for i in range(2, n + 1):
if A[i]:
B.append(i)
for j in range(i * i, n + 1, i):
A[j] = False
return B
while True:
#include <iostream>
#include <vector>
using namespace std;
int first_occurrence(double x, const vector<double>& v){
if (v.size()==0) return -1;
int inici = 0, final = v.size()-1;
while (inici <= final) {
int m = (inici + final)/2;
if (v[m] < x) ini = m + 1;
#include <iostream>
#include <vector>
using namespace std;
int first_occurrence(int x, const vector<int>& v){
if (v.size()==0) return -1;
int inici = 0, final = v.size()-1;
while (inici <= final) {
int m = (inici + final)/2;
if (v[m] < x) inici = m + 1;
@andreuinyu
andreuinyu / Ackerman.cc
Last active January 18, 2016 20:42
Ackerman
#include <iostream>
using namespace std;
int ackerman(int a, int b){
if (a==0) return b+1;
else if (b==0) return ackerman(a-1, 1);
else return ackerman(a-1, ackerman(a, b-1));
}
int main(){
@andreuinyu
andreuinyu / Llei de Grup Modular.cc
Last active January 18, 2016 20:43
Llei de Grup Modular en C++
#include <iostream>
#include <vector>
using namespace std;
struct punt{
int x;
int y;
int z;
};
#include <iostream>
#include <vector>
using namespace std;
struct p{
int a;
int b;
};
p mam(int x, vector<int>& v){
#include <iostream>
#include <vector>
#include <cmath>
#include <algorithm>
using namespace std;
struct punt{
int x;
int y;
int z;
};
@andreuinyu
andreuinyu / Clock_creator.pde
Last active August 29, 2015 14:05
This program allows you to generate n-hour clocks with the hand pointing at the f-th hour. I wrote this program to use the images to explain simple modular arithmetic visually.
void setup(){
size(350, 350);
background(255,255,255);
textSize(26);
}
void arrow(int x1, int y1, float x2, float y2) {
line(x1, y1, x2, y2);
pushMatrix();
translate(x2, y2);
float a = atan2(x1-x2, y2-y1);
from math import sqrt
N = 1997
A = 59
B = 23
coords = []
for x in range(N):
temp = (pow(x, 3, N) + A*x + B) % N
while (temp < 0):
temp += N
for i in range(N):