- 1
- 2
2 ноября собираемся в Севастополе!
Пусть нерусь всякая к своим литвинам едет!
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−103
2 ноября собираемся в Севастополе!
Пусть нерусь всякая к своим литвинам едет!
0
if (res / 2 < ans) {
ans = res / 2;
}
−103
Be cool, be aerocock! Buy aerocock sas na kilowatt vsego za 3k russkih rublikov!
0
#include <iostream> #include <cmath> #include <iomanip> #include <random> using namespace std;
int main()
{
setlocale(LC_ALL, "Rus");
double n; cout << "Введите точность вычисления: "; cin >> n;
while (n < 0.000001 || n > 1)
{
cout << "Веденное не соответствует условию" << "\nВведите точность вычислений: " << endl; cin >> n;
}
random_device generator; uniform_real_distribution<double> distribution(-700, 700); //потому что функция "sinh" не считает > 700 double x = distribution(generator) cout << "На множестве R выбран x, равный: " << x << "\n";
double sum = 0.0 double a = x; double t = 1;
while (abs(a) >= n)
{
sum += a; a *= (x * x / ((t + 1) * (t + 2))); t += 2;
}
double func = sinh(x); double diff = abs(sum - func); cout << setprecision(ceil(log10(1 / n))) << "Результат функции: " << func <<"\nРезультат просчета ряда: " << sum << endl; cout << "Погрешность составляет: " << diff << endl;
return 0;
0
#include <iostream>
#include <cmath>
#include <iomanip>
#include <random>
using namespace std;
int main()
{
setlocale(LC_ALL, "Rus");
double n;
cout << "Введите точность вычисления: ";
cin >> n;
while (n < 0.000001 || n > 1)
{
cout << "Веденное не соответствует условию" << "\nВведите точность вычислений: " << endl;
cin >> n;
}
//Рандомные числа с промежутком
random_device generator;
uniform_real_distribution<double> distribution(-700, 700); //потому что функция "sinh" не считает > 700
double x = distribution(generator);
cout << "На множестве R выбран x, равный: " << x << "\n";
//Подсчёт формулы
double sum = 0.0;
double a = x;
double t = 1;
while (abs(a) >= n)
{
sum += a;
a *= (x * x / ((t + 1) * (t + 2)));
t += 2;
}
//Функция, сравнение, погрешность
double func = sinh(x);
double diff = abs(sum - func);
cout << setprecision(ceil(log10(1 / n))) << "Результат функции: " << func <<"\nРезультат просчета ряда: " << sum << endl;
cout << "Погрешность составляет: " << diff << endl;
return 0;
+1
#include "pch.h"
#include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <ctime>
using namespace std;
int main()
{
setlocale(0, "rus");
int n, a[1000], max, c;
cout << "число элементов: "; cin >> n;
srand(time(0));
cout << "\nчисла массива:\n";
for (int i = 0; i < n; i++) {
a[i] = rand() % 2000 -1000;
cout << a[i] << " ";
if (i == 0) max = abs(a[i]); else if (abs(a[i]) > max) max = abs(a[i]);
}
cout << "\n\nабс. максимум = " << max << endl;
for (int i = 0; i < n; i++) {
for (int j = n-1; j > 0; j--) {
if (a[j - 1] < a[j]) {
c = a[j - 1];
a[j - 1] = a[j];
a[j] = c;
}
}
}
cout << "\nотсортированный массив:\n";
for (int i = 0; i < n; i++) {
cout << a[i]<<" ";
}
_getch();
return 0;
}
−3
import java.util.Random;
public class Main {
public static void main(String[] args) {
Galaxy g = new Galaxy(3,77,34);
g.start();
}
}
class Galaxy extends Thread {
private int min = 1;
private int max = 100;
private final int step = 5;
private final int TIME = 1000;
volatile private int a, b, c;
Galaxy(int a, int b, int c) {
this.a = a;
this.b = b;
this.c = c;
}
public void start() {
Thread t = new Thread(this, "one");
t.start();
Thread t2 = new Thread(this, "two");
t2.start();
Thread t3 = new Thread(this, "three");
t3.start();
} @Override
public void run() { while(true) { try {
Thread.sleep(new Random().nextInt(TIME));
if(currentThread().getName().equals("one")) {
if(new Random().nextInt(2) == 1 && a > 0)
a--;
else {
if (a < max)
a++;
}
int var = a;
if(b == var || (b-1) == var || (b+1) == var)
if((b+step) > max)
b-=step;
if((b-step) < min)
b+=step;
if(c == var || (c-1) == var || (c+1) == var)
if((c+step) > max)
c-=step;
if((c-step) < min)
c+=step;
}
if(currentThread().getName().equals("two")) {
if(new Random().nextInt(2) == 1 && b > 0)
b--;
else {
if(b < max)
b++;
}
int var = b;
if(a == var || (a-1) == var || (a+1) == var) {
if((a+step) > max)
a-=step;
if((a-step) <= min)
a+=step;
}
if(c == var || (c-1) == var || (c+1) == var) {
if((c+step) > max)
c-=step;
if((c-step) <= min)
c+=step;
}
}
if(currentThread().getName().equals("three")) {
if(new Random().nextInt(2) == 1 && c > 0)
c--;
else {
if(c < max)
c++;
}
int var = c;
if(a == var || (a-1) == var || (a+1) == var) {
if((a+step) > max)
a-=step;
if((a-step) <= min)
a+=step;
}
if(b == var || (b-1) == var || (b+1) == var) {
if((b+step) > max)
b-=step;
if((b-step) <= min)
b+=step;
}
}
for(int i = min; i <= max; i++) {
int p = 0;
if(i == a || i == b || i == c)
p = 1;
System.out.print(p);
}
System.out.println();
} catch (InterruptedException e) {
e.printStackTrace();
}}}}
После запуска ждал 10 минут. Но они так и не сблизились. Программа словно остерегается сближения. Как живая.
Рашан ИИ!
0
<?php
define('MAX_NUMBER', 70);
function factorial($value) {
return array_reduce(range(1, $value), function($carry,$item){return $carry*$item;}, 1);
}
function R($value) {
return floor(2*sqrt(log(($value))));
}
function make_chain($start, $length) {
$chain['start'] = $start;
for($i = 0; $i < $length; ++$i) {
$hash = factorial($start);
echo ">>> $start! == $hash\n"; // диагностическое сообщение
$start = R($hash);
if($start == 0) break;
}
$chain['end'] = $hash;
echo "Chain from ${chain['start']} to ${chain['end']} is ready.\n"; // диагностическое сообщение
return $chain;
}
function make_chains($count, $length) {
$chains = [];
mt_srand();
for($i = 0; $i < $count; ++$i) {
$number = mt_rand(0, MAX_NUMBER - 1); // начинаем цепочку с псевдослучайного слова
$chain = make_chain($number, $length);
$hash = $chain['end']; // используем конец найденной цепочки как индекс для быстрого поиска
if(!isset($chains[$hash])) $chains[$hash] = []; // если такого хэша не было в корзине, инициализируем её
if(!in_array($chain['start'], $chains[$hash])) { // проверяем на дубли
$chains[$hash][] = $chain['start']; // добавляем начало цепочки в корзину
}
}
return $chains;
}
function find_hash_in_basket($needle, $haystack_start, $haystack_end) {
echo "Роемся в цепочке от $haystack_start до $haystack_end.\n"; // диагностическое сообщение
$current_number = $haystack_start;
do {
$current_hash = factorial($current_number); // <-- сюда вставьте нужную хэш-функцию
if($current_hash <= $needle && $needle <= $current_hash * ($current_number + 1)) {
return $current_number; // нашли
}
$current_number = R($current_hash); // роем в глубину
} while($current_hash !== $haystack_end);
return false; // не нашли
}
function search_hash($hash, $chains, $length) {
$current_hash = $hash;
for($i = 0; $i < $length; ++$i) {
if(isset($chains[$current_hash])) { // нашли хэш в одной из корзин
echo "Лезем в корзину $current_hash.\n"; // диагностическое сообщение
foreach($chains[$current_hash] as $start) { // роемся в корзине
$result = find_hash_in_basket($hash, $start, $current_hash); // пытаемся найти в каждой из цепочек корзины
if($result) {
return $result; // конец поиска
}
}
}
$next_number = R($current_hash); // копаем в глубину
$current_hash = factorial($next_number);
}
return false; // не нашли
}
///////////////////// ПРИМЕР //////////////////////////////////
$chains = make_chains(10, 5);
echo "Радужные таблицы готовы.\n";
var_dump($chains);
$hash = 721;
echo "Пытаемся обратить $hash.\n";
$number = search_hash($hash, $chains, 5);
echo $number . "! <= $hash <= " . ($number+1) . "!\n";
Безумная идея: использовать радужные таблицы для обращения математических функций. Например, радужная таблица для факториала:
http://ideone.com/Q22EXy
0
<?php
function word_by_index($index, $dicts) {
$sizes = array_map(function($val){return count($val);}, $dicts); // получаем размеры каждого словаря
$result = '';
foreach($sizes as $key=>$size) {
$result .= $dicts[$key][$index % $size]; // сцепляем слово из частей
$index = floor($index / $size);
}
return $result;
}
function R($hash, $dicts, $total) {
$index = gmp_intval(gmp_mod(gmp_init($hash, 16), $total));
return word_by_index($index, $dicts);
}
function make_chain($start, $length, $dicts, $total) {
$chain['start'] = $start;
for($i = 0; $i < $length; ++$i) {
$hash = md5($start); // <-- сюда вставьте нужную хэш-функцию
// echo ">>> $hash : $start\n"; // диагностическое сообщение
$start = R($hash, $dicts, $total);
}
$chain['end'] = $hash;
echo "Chain from ${chain['start']} to ${chain['end']} is ready.\n"; // диагностическое сообщение
return $chain;
}
function make_chains($count, $length, $dicts) {
$sizes = array_map(function($val){return count($val);}, $dicts); // получаем размеры каждого словаря
$total = array_reduce($sizes, function($carry,$item){return $carry*$item;}, 1); // произведение размеров словарей
$chains = [];
mt_srand();
for($i = 0; $i < $count; ++$i) {
$word = word_by_index(mt_rand(0, $total - 1), $dicts); // начинаем цепочку с псевдослучайного слова
$chain = make_chain($word, $length, $dicts, $total);
$hash = $chain['end']; // используем конец найденной цепочки как индекс для быстрого поиска
if(!isset($chains[$hash])) $chains[$hash] = []; // если такого хэша не было в корзине, инициализируем её
if(!in_array($chain['start'], $chains[$hash])) { // проверяем на дубли
$chains[$hash][] = $chain['start']; // добавляем начало цепочки в корзину
}
}
return $chains;
}
function find_hash_in_basket($needle, $haystack_start, $haystack_end, $dicts, $total) {
echo "Роемся в цепочке от $haystack_start до $haystack_end.\n"; // диагностическое сообщение
$current_word = $haystack_start;
do {
$current_hash = md5($current_word); // <-- сюда вставьте нужную хэш-функцию
if($current_hash === $needle) {
return $current_word; // нашли слово, хэш от которого равен заданному
}
$current_word = R($current_hash, $dicts, $total); // роем в глубину
} while($current_hash !== $haystack_end);
return false; // не нашли
}
function search_hash($hash, $dicts, $chains, $length) {
$sizes = array_map(function($val){return count($val);}, $dicts); // получаем размеры каждого словаря
$total = array_reduce($sizes, function($carry,$item){return $carry*$item;}, 1); // произведение размеров словарей
$current_hash = $hash;
for($i = 0; $i < $length; ++$i) {
if(isset($chains[$current_hash])) { // нашли хэш в одной из корзин
echo "Лезем в корзину $current_hash.\n"; // диагностическое сообщение
foreach($chains[$current_hash] as $start) { // роемся в корзине
$result = find_hash_in_basket($hash, $start, $current_hash, $dicts, $total); // пытаемся найти в каждой из цепочек корзины
if($result) {
return $result; // конец поиска
}
}
}
$next_word = R($current_hash, $dicts, $total); // копаем в глубину
$current_hash = md5($next_word);
}
return false; // не нашли
}
///////////////////// ПРИМЕР //////////////////////////////////
$dicts= array(
array('свино', 'овце', 'тигро', 'косатко', 'зубро', 'волко', 'кото'),
array('собака', 'бык', 'лев', 'дельфин', 'бизон')
);
$chains = make_chains(15, 15, $dicts);
echo "Радужные таблицы готовы.\n";
var_dump($chains);
$hash = '360629d3cf05cee0240a23e1251c58a0';
echo "Пытаемся обратить $hash.\n";
$word = search_hash($hash, $dicts, $chains, 15);
echo "$hash is reversed to $word.\n";
По просьбам трудящихся.
Выхлоп на Ideone:
http://ideone.com/otdCDg
−1
IT Оффтоп #24
#1: https://govnokod.ru/18142 https://govnokod.xyz/_18142
#2: https://govnokod.ru/18378 https://govnokod.xyz/_18378
#3: https://govnokod.ru/19667 https://govnokod.xyz/_19667
#4: https://govnokod.ru/21160 https://govnokod.xyz/_21160
#5: https://govnokod.ru/21772 https://govnokod.xyz/_21772
#6: https://govnokod.ru/24063 (потёр пидор сракер) https://govnokod.xyz/_24063
#7: https://govnokod.ru/24538 https://govnokod.xyz/_24538
#8: https://govnokod.ru/24815 (потёр пидор сракер) https://govnokod.xyz/_24815
#9: https://govnokod.ru/24867 https://govnokod.xyz/_24867
#10: https://govnokod.ru/25328 https://govnokod.xyz/_25328
#11: https://govnokod.xyz/_25436 https://govnokod.ru/25436 (потёр пидор сракер)
#12: https://govnokod.xyz/_25471
#13: https://govnokod.xyz/_25590 (потёр пидор сракер)
#14: https://govnokod.xyz/_25684
#15: https://govnokod.xyz/_25694
#16: https://govnokod.xyz/_25725
#17: https://govnokod.xyz/_25731
#18: https://govnokod.xyz/_25762
#19: https://govnokod.xyz/_25767
#20: https://govnokod.xyz/_25776
#21: https://govnokod.xyz/_25798
#22: https://govnokod.xyz/_25811
#23: http://govnokod.ru/25863 https://govnokod.xyz/_25863