- 1
- 2
- 3
- 4
bool isDate(int d, int m, int y)
{
return m > 0 && m < 13 ? d > 0 && d < 29 + (m - 2 ? 2 + (m + m / 8) % 2 : !(y % 4) && (y % 100) || !(y % 400)) : 0;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
bool isDate(int d, int m, int y)
{
return m > 0 && m < 13 ? d > 0 && d < 29 + (m - 2 ? 2 + (m + m / 8) % 2 : !(y % 4) && (y % 100) || !(y % 400)) : 0;
}
0
# Теперь нам нужны несколько изображений для выполнения
# логического вывода. Давайте загрузим их с помощью wget.
urls = [
"https://mir-s3-cdn-cf.behance.net/project_modules/max_3840/2712bd29493563.55f6ec5e98924.jpg",
"https://i.pinimg.com/736x/5a/8a/5c/5a8a5c4cd658580ae4719e5c96043541.jpg",
"https://mir-s3-cdn-cf.behance.net/project_modules/max_1200/4d222729493563.55f6420cd3768.jpg"
]
downloaded_files = []
for index, url in enumerate(urls, start=1):
os.system(f"wget {url} -O pose-{index}.jpg")
downloaded_files.append(f"pose-{index}.jpg")
Датасаентист — не программист, и сегодня ему предстояла трудная ночь...
https://habr.com/ru/articles/772558/
0
string[] words = line.Split(' ');
foreach (var word in words)
{
Console.Write(word);
switch (word)
{
case "11":
Console.WriteLine($"{tableEng[0, 0]}");
break;
case "12":
Console.WriteLine($"{tableEng[0, 1]}");
break;
case "13":
Console.WriteLine($"{tableEng[0, 2]}");
break;
case "14":
Console.WriteLine($"{tableEng[0, 3]}");
break;
case "15":
Console.WriteLine($"{tableEng[0, 4]}");
break;
case "21":
Console.WriteLine($"{tableEng[1, 0]}");//
break;
case "22":
Console.WriteLine($"{tableEng[1, 1]}");
break;
case "23":
Console.WriteLine($"{tableEng[1, 2]}");
break;
case "24":
Console.WriteLine($"{tableEng[1, 3]}");
break;
case "25":
Console.WriteLine($"{tableEng[1, 4]}");
break;
case "31":
Console.WriteLine($"{tableEng[2, 0]}");
break;
case "32":
Console.WriteLine($"{tableEng[2, 1]}");
break;
case "33":
Console.WriteLine($"{tableEng[2, 2]}");
break;
case "34":
Console.WriteLine($"{tableEng[2, 3]}");
break;
case "35":
Console.WriteLine($"{tableEng[2, 4]}");
break;
case "41":
Console.WriteLine($"{tableEng[3, 0]}");
break;
case "42":
Console.WriteLine($"{tableEng[3, 1]}");
break;
case "43":
Console.WriteLine($"{tableEng[3, 2]}");
break;
case "44":
Console.WriteLine($"{tableEng[3, 3]}");
break;
case "45":
Console.WriteLine($"{tableEng[3, 4]}");
break;
case "51":
Console.WriteLine($"{tableEng[4, 0]}");
break;
case "52":
Console.WriteLine($"{tableEng[4, 1]}");
break;
case "53":
Console.WriteLine($"{tableEng[4, 2]}");
break;
case "54":
Console.WriteLine($"{tableEng[4, 3]}");
break;
case "55":
Console.WriteLine($"{tableEng[4, 4]}");
break;
}
}
}
Console.ReadLine();
Дело IsBukva живёт.
https://habr.com/ru/articles/771530/
0
n = int(input())
m = int(input())
if m > 1:
chast1 = n * 2
vsegoch = chast1 * (m + 1)
print(vsegoch)
else:
print(n * 2)
0
<?php
namespace App\Http\Controllers\api\v1;
use App\Http\Controllers\Controller;
use App\Http\Requests\StandartRequest;
use App\Models\Attractions;
use App\Models\AttractionSessionUpdates;
use App\Models\Locations;
use App\Models\SessionAttractionHistory;
use App\Models\SessionsHistoryAttractions;
use App\Models\SessionsHistoryGames;
use App\Models\Statistic\CountEndAttractionSessions;
use Illuminate\Http\Request;
use Illuminate\Support\Carbon;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Cache;
use Illuminate\Support\Facades\Log;
class AttractionEndSessionsCount extends Controller
{
public function endSessions(StandartRequest $request){
$this->now_time = Carbon::now();
$locations = Locations::where('user_id', '=', Auth::user()->id)->get();
if (count($locations) == 0){
return response()->json(['code' => "404", 'status' => 'error' , 'message'=> "locations not found"]);
}
try {
$request_from = $request->input('date_from');
$from = Carbon::parse($request_from."00:00:01");
$date_to = $request->input('date_to');
$to = Carbon::parse($date_to."11:59:59");
} catch (\Exception $exception){
return response()->json(['code' => "422", 'status' => 'error' , 'message'=> "dates have bad format, failed parse"]);
}
if ($from->timestamp > $to->timestamp){
return response()->json(['code' => "422", 'status' => 'error' , 'message'=> "the start date is larger than the end date"]);
}
$is_detail = $request->input('detail', 'daily');
$arr = $this->prepareLocationsAndAttrctions($locations, $from, $to, $is_detail);
$locations_ids = [];
foreach ($locations as $loc){
$locations_ids[] = $loc->id;
}
$history = CountEndAttractionSessions::query()->whereIn('location_id', array_values($locations_ids))
->whereBetween('day_date', [$from->startOfDay()->format('Y-m-d H:i:s'), $to->endOfDay()->format('Y-m-d H:i:s')])
->get();
$resp = $this->fillResults($arr ,$history, $is_detail);
if ($this->is_today){
$resp = $this->fillTodayResult($resp, $locations_ids, $is_detail);
}
return response()->json(['code' => "200", 'status' => 'success' , 'data'=> $resp]);
}
private function fillResults($arr ,$history, $is_detail){
foreach ($history as $value){
try {
if ($is_detail == 'hourly'){
$arr['locations'][$value->location_id]['attractions'][$value->attraction_id]['list'][$value->day_date->format('d-m-Y')][$value->day_date->format('H:00:00')] =
[
// общее количество игр
'total_count' => $value->total_count ?? 0,
//общее количество обновлений
'total_updates_count' => $value->total_updates_count ?? 0,
// количество пролонгейт обновлений
'add_time' => $value->add_time ?? 0,
// количество лет_гейм обновлений
'let_game_end' => $value->let_game_end ?? 0,
//средняя длина игры в секундах
'avg_duration' => [
'sum_seconds' => $value->avg_duration_second_sum,
'count_games' => $value->avg_duration_count_games,
],
// минимальная игра в секундах
'min_duration' => $value->min_duration,
// максимальная игра в секундах
'max_duration' => $value->max_duration,
];
for ($i = 1; $i <= 10; $i++){
$selector = 'max_players_'.$i;
$arr['locations'][$value->location_id]
['attractions'][$value->attraction_id]
['list'][$value->day_date->format('d-m-Y')]
[$value->day_date->format('H:00:00')]
['max_players'][$i] = (int)$value->$selector;
}
}elseif ($is_detail == 'daily') {
$arr['locations'][$value->location_id]['attractions'][$value->attraction_id]
['list'][$value->day_date->format('d-m-Y')]['total_count'] += $value->total_count;
$arr['locations'][$value->location_id]['attractions'][$value->attraction_id]
расчет заранее посчитанной оффлайн и онлайн статистики
−1
void branch(int *cnt, int accum, int nxt, int comn) {
printf("accum %d %d\n", accum, comn);
if (accum < 0 && comn == 41) {
*cnt = nxt;
} else if (accum == 0 && comn == 42) {
*cnt = nxt;
} else if (comn == 40) {
*cnt = nxt;
}
else {
(*cnt)++;
}
}
void dump(int word[]) {
int d = 0, x;
printf("%3c", ' ');
while (d != 10) {
printf("%5d ", d);
d++;
}
for (d = 0; d != MEM; d++) {
x = word[d];
if (0 == (d % 10))
puts(" "), printf("%3d", d);
printf(x >= 0 ? " +%.4X" : " %.4d", x);
}
puts(" ");
}
void dump_file(int word[]) {
int d = 0, x;
FILE *flrun;
flrun = fopen("wrt.txt", "w+");
fprintf(flrun, "%3c", ' ');
while (d != 10) {
fprintf(flrun, "%5d ", d);
d++;
}
for (d = 0; d != MEM; d++) {
x = word[d];
if (0 == (d % 10))
fprintf(flrun, "\n"), fprintf(flrun, "%3d", d);
fprintf(flrun, x >= 0 ? " +%.4X" : " %.4d", x);
}
}
long long_var(long var) {
long step = 1;
do {
step *= 10;
} while (var /= step);
return (step / 10);
}
Демотрон 3
Читалка для кода симплтрона
0
fclose(cfPtr);
while ((mem[operand] > -9999) && (mem[operand] < 9999) && sign != 1) {
ins_rgr = (mem[ins_cnt]);
op_code = (ins_rgr / 100);
operand = (ins_rgr % 100);
// printf("op_code = %d operand = %d acc = %d\n", op_code, operand , acc
// );
// dump(mem);
switch (op_code) {
case HALT:
sign = 1;
break;
case READ:
printf("? read ");
scanf("%d", &buf);
mem[operand] = buf;
ins_cnt++;
break;
case WRITE:
printf("%d\n", mem[operand]);
ins_cnt++;
break;
case LOAD:
acc = mem[operand];
ins_cnt++;
break;
case STORE:
mem[operand] = acc;
ins_cnt++;
break;
case ADD:
acc += mem[operand];
ins_cnt++;
break;
case SUBSTRACT:
acc -= mem[operand];
ins_cnt++;
break;
case DIVIDE:
acc /= mem[operand];
ins_cnt++;
break;
case MUL:
acc *= mem[operand];
ins_cnt++;
break;
case POW:
acc = pow(acc, mem[operand]);
ins_cnt++;
break;
case MOD:
acc = fmod(acc, mem[operand]);
ins_cnt++;
break;
case NEWLINE:
puts(" ");
ins_cnt++;
break;
case BRANCH:
case BRANCHZERO:
case BRANCHNEG:
branch(&ins_cnt, acc, operand, op_code);
break;
}
}
dump(mem);
dump_file(mem);
puts(" ");
}
Демотрон 2
Читалка для кода симплтрона
0
#include <ctype.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MEM 100
#define READ 10
#define WRITE 11
#define LOAD 20
#define STORE 21
#define NEWLINE 22
#define ADD 30
#define SUBSTRACT 31
#define DIVIDE 32
#define MUL 33
#define POW 34
#define MOD 35
#define ENTSTR 50
#define PRTSTR 51
#define BRANCH 40
#define BRANCHNEG 41
#define BRANCHZERO 42
#define HALT 43
int main(int argc, char *argv[]) {
void dump_file(int word[]);
FILE *cfPtr;
// char buf[5];
void branch(int *cnt, int accum, int nxt, int comn);
int buf_mem[100] = {0};
void dump(int word[]);
int x = 0, y = 0, s = 0;
// int mem[MEM] = {0};
int mem[MEM];
for (; x != MEM; x++) {
mem[x] = 0;
}
int acc = 0, d = 0;
int ins_cnt = 0, ins_rgr = 0, op_code = 0, operand = 0, buf = 0;
int b = 0, l, r = 0, m = 0, ti = 0, sign = 0;
cfPtr = fopen(argv[1], "r");
for (; feof(cfPtr) == 0;) {
fscanf(cfPtr, "%d %d\n", &b, &l);
mem[b] = l;
}
Демотрон 1
Читалка для кода симплтрона
0
int let_past(data *base, char *infix, char *post_infix) {
char *buffer;
int past_in_table_cons_or_value(data * table, char *str_tok);
int data_adress = 0;
int lng = 0;
int left_side = 0;
past_in_table_cons_or_value(base, &infix[0]);
buffer = strtok(&infix[1], " ");
for (; buffer != (char *)'\0';
post_infix[lng++] = ' ', buffer = strtok(NULL, " ")) {
if (isalnum(*buffer)) {
data_adress = past_in_table_cons_or_value(base, buffer);
sprintf(&post_infix[lng], "%d", data_adress);
lng += 2;
}
else {
post_infix[lng] = *buffer;
lng++;
}
}
post_infix[lng] = '\0';
left_side = search_in_table(base, &infix[0]);
return (base + left_side)->location;
}
int my_strcmp (const char *out, const char *in ){
for( ;*(in) , *(out) && *(in) == *(out); *out++,*in++ );
return *in <= *out ? *out > *in : -1 ;
}
Инклуды длясимплтрона 4
0
int pop_2(StackNodePtr_2 *topPtr) {
StackNodePtr_2 tempPtr;
int popValue;
tempPtr = *topPtr;
popValue = (*topPtr)->data;
*topPtr = (*topPtr)->nextPtr;
free(tempPtr);
return popValue;
}
/* Return the value at the top of the stack */
char stackTop_1(StackNodePtr_2 topPtr) {
char topValue;
topValue = topPtr->data;
return topValue;
}
int isEmpty_2(StackNodePtr_2 topPtr) { return topPtr == NULL; }
/* Test if the list is empty */
int my_isalpha(char alpha) {
return ((alpha >= 65 && alpha <= 90) || (alpha >= 97 && alpha <= 122));
}
int my_isdigit(char alpha) { return (alpha >= 48) && (alpha <= 57); }
int isOperator_2(char c) {
return c == '/' || c == '*' || c == '-' || c == '+' || c == '^' || c == '%';
}
int goto_search(data *table, char *token) {
int x = 0;
for (x = 0; x != 100; x++) {
if (memcmp((table + x)->symbol, token, 2) == 0) {
return (table + x)->location;
}
}
return 0;
}
int helper_search_1(data *base, char *token, int run) {
return ((base + run)->symbol[0] == *token ||
my_strcmp((base + run)->symbol, "0") == 0);
}
int helper_search_2(data *base, char *token, int run) {
return (my_strcmp((base + run)->symbol, token) == 0 ||
my_strcmp((base + run)->symbol, "0") == 0);
}
int search_in_base(data *intro_search, char *str_tok_search) {
int runner = 0, ch = !my_isalpha(*str_tok_search);
for (; !helper_search_base(intro_search, str_tok_search, runner); ++runner)
;
return runner;
}
int helper_search_base(data *base, char *token, int run) {
return my_strcmp((base + run)->symbol, "0") == 0;
}
int search_in_table(data *intro_search, char *str_tok_search) {
int runner = 0, ch = !my_isalpha(*str_tok_search);
for (; !(*helper_search[ch])(intro_search, str_tok_search, runner); ++runner)
;
return runner;
}
int rem_break(char *token) {
if (memcmp(token, "rem", 3) == 0) {
return 1;
}
return 0;
}
Инклуды для симплтрона