- 1
- 2
Официальный тред для обсуждения способов высера видеоизображения на телеящик.
Один калмент -- один способ
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−3
Официальный тред для обсуждения способов высера видеоизображения на телеящик.
Один калмент -- один способ
Официальный тред для обсуждения способов высера видеоизображения на телеящик.
Один калмент -- один способ
+1
<?php
$img = imagecreatefromgif('http://web.archive.org/web/20070419044913im_/upyachka.ru/img/kot/16.gif');
$w = imagesx($img);
$h = imagesy($img);
$symbols = array(' ', '▀', '▄', '█');
for($y = 0; $y < floor($w/2); ++$y) {
for($x = 0; $x < $w; ++$x) {
$color1 = imagecolorat($img, $x, 2*$y);
$color2 = imagecolorat($img, $x, 2*$y+1);
$bit1 = intval(($color1 & 0xff) > 0x80);
$bit2 = intval(($color2 & 0xff) > 0x80);
echo $symbols[$bit1 + ($bit2 << 1)];
}
echo PHP_EOL;
}
+1
x = 0; y = 0
def gcd(a, b):
#{
global x, y
if (a == 0):
#{
x = 0; y = 1;
return b;
#}
d = gcd(b%a, a);
t = x
x = y - (b // a) * x;
y = t;
return d;
#}
#int main()
#{
#ios_base::sync_with_stdio(0); in.tie(0);
#I n, p, w, d, dd, ww;
#in >> n >> p >> w >> d;
n, p, w, d = map(int, input().split())
gc = gcd(d, w);
dd = x; ww = y
g = w * d // gc;
if (p % gc):
print(-1); exit(0)
dd *= p // gc;
ww *= p // gc;
if (ww < 0):
#{
di = (-ww + g // w - 1) // (g // w);
ww += g // w * di;
dd -= g // d * di;
if (dd < 0):
print(-1); exit(0)
#}
elif (dd < 0):
#{
di = (-dd + g // d - 1) // (g // d);
dd += g // d * di;
ww -= g // w * di;
if (dd < 0):
print(-1); exit(0)
#}
if (ww < 0 or dd < 0):
print(-1); exit(0)
di = dd // (g // d);
dd -= g // d * di;
ww += g // w * di;
if (ww + dd <= n):
print(ww, dd, n - ww - dd)
else:
print(-1);
#}
Когда на соревновании по спортивному программированию пишешь код на C++ и внезапно понимаешь, что int64_t тебе недостаточно.
+1
import java.util.Scanner;
public class ComputeTax {
public static void main(String[] args) {
// Create a Scanner
Scanner input = new Scanner(System.in);
// Prompt the user to enter filing status
System.out.print(
"(0-single filer, 1-married jointly or qualifying widow(er)",
+ "\n2-married separately, 3-head of household)\n" +
"Enter the filing status: ");
int status = input.nextInt();
// Prompt the user to enter taxable income
System.out.print("Enter the taxable income: ");
double income = input.nextDouble();
// Compute tax
double tax = 0;
if (status == 0) {// Compute tax for single filers
if (income <= 8350)
tax = income * 0.10;
else if (income <= 33950)
tax = 8350 * 0.10 + (income - 8350) * 0.15;
else if (income <= 82250)
tax = 8350 * 0.10 + (33950 - 8350) * 0.15 +
(income - 33950) * 0.25;
else if (income <= 171550)
tax = 8350 * 0.10 + (33950 - 8350) * 0.15 +
(82250 - 33950) * 0.25 + (income - 82250) * 0.28;
else if (income <= 372950)
tax = 8350 * 0.10 + (33950 - 8350) * 0.15 +
(82250 - 33950) * 0.25 + (171550 - 82250) * 0.28 +
(income - 171550) * 0.33;
else
tax = 8350 * 0.10 + (33950 - 8350) * 0.15 +
(82250 - 33950) * 0.25 + (171550 - 82250) * 0.28 +
(372950 - 171550) * 0.33 + (income - 372950) * 0.35;
}
else if (status == 1) {
// Left as exercise
// Compute tax for married file jointly or qualifying widow(er)
}
else if (status == 2) {
// Compute tax for married separately
// Left as exercise
}
else if (status == 3) {
// Compute tax for head of household
// Left as exercise
}
else {
System.out.println("Error: invalid status");
System.exit(1);
}
// Display the result
System.out.println("Tax is " + (int)(tax * 100) / 100.0);
}
0
namespace belugina
{
void Exchange (int i, int j, int *x){
int tmp;
tmp = x[i];
x[i] = x[j];
x[j] = tmp;
}
void sifting (int left, int right, int *x){
int q, p, h;
q=2*left+1;
p=q+1;
if (q <= right){
if (p <= right && x[p] > x[q])
q = p;
if (x[left] < x[q]){
Exchange (left, q, x);
sifting(q, right, x);
}
}
}
}
Бред сумасшедшего. По утверждению автора алгоритм "Просеивание" элементов.
+1
Вот так пишут настоящие программисты внутри HTML. Ни грамма жалости... Ни слова унижения.
...
<h6 class="card-subtitle">
<?php switch($cur_user['school_type']):
case 1: ?>
<?php echo $lang['Public_school']; ?>
<?php break; ?>
<?php case 2: ?>
<?php echo $lang['State_religious_school']; ?>
<?php break; ?>
<?php case 3: ?>
<?php echo $lang['muslim']; ?>
<?php break; ?>
<?php case 4: ?>
<?php echo $lang['orthodox']; ?>
<?php break; ?>
<?php endswitch; ?>
</h6>
...
−1
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct masterRecord{ int Number; char Name[20]; char Surname[20]; char addres[30]; char TelNumber[15]; double indebtedness; double credit_limit; double cash_payments; };
typedef struct masterRecord Data;
int main(void){
int choice = 0;
void masterWrite(FILE *ofPTR, Data Client ) ,transactionWrite(FILE *ofPTR, Data transfer ) , blackRecord(FILE *ofPTR, FILE *ofPTR_2 , FILE *blackrecord , Data client_data , Data transfer ) ;
FILE *Ptr, *Ptr_2 , *blackrecord ;
Data client_data, transfer ;
printf("%s", "please enter action\n1 enter data client:\n2 enter data transaction:\n3 update base\n" );
while ( scanf("%d", &choice ) != -1 ) {
switch( choice ) {
case 1:
Ptr = fopen("record.dat", "r+" );
if(Ptr == NULL ){
puts("Not acess");
}
else{
masterWrite( Ptr , client_data);
fclose(Ptr);
}
break;
case 2:
Ptr = fopen("transaction.dat", "r+" );
if(Ptr == NULL ){
puts("Not acess");
}
else{
transactionWrite( Ptr, transfer );
fclose(Ptr);
}
break;
case 3:
Ptr = fopen( "record.dat", "r" );
Ptr_2 = fopen("transaction.dat", "r" );
blackrecord = fopen("blackrecord.dat", "w" );
if( Ptr == NULL || Ptr_2 == NULL || blackRecord == NULL ){
puts("exit");
}
else{
blackRecord( Ptr, Ptr_2 , blackrecord , client_data , transfer );
fclose(Ptr);
fclose(Ptr_2);
fclose(blackrecord);
}
break;
default:
puts("error");
break ;
}
printf("%s", "please enter action\n1 enter data client:\n2 enter data transaction:\n3 update base\n" );
}
return 0;
}
void masterWrite(FILE *ofPTR , Data Client ) {
printf("%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n\n",
"1 Number account: ",
"2 Client name: ",
"3 Surname: ",
"4 Addres client: ",
"5 Client Telnum: ",
"6 Client indebtedness: ",
"7 Client credit limit: ",
"8 Client cash payments: " );
while( scanf("%d%s%s%s%s%lf%lf%lf", &Client.Number, Client.Name, Client.Surname, Client.addres, Client.TelNumber, &Client.indebtedness, &Client.credit_limit , &Client.cash_payments ) != -1 ){
fprintf( ofPTR, "%-12d%-11s%-11s%-16s%20s%12.2f%12.2f%12.2f\n", Client.Number, Client.Name, Client.Surname, Client.addres, Client.TelNumber, Client.indebtedness, Client.credit_limit , Client.cash_payments ) ;
printf("%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n\n",
"1 Number account: ",
"2 Client name: ",
"3 Surname: ",
"4 Addres client: ",
"5 Client Telnum: ",
"6 Client indebtedness: ",
"7 Client credit limit: ",
"9 Client cash payments:"
);
} }
void transactionWrite(FILE *ofPtr, Data transfer ){
printf("%s\n%s\n",
"1 Number account: ",
"2 Client cash payments: ");
while(scanf("%d %lf" , &transfer.Number , &transfer.cash_payments ) != -1 ){
fprintf( ofPtr, "%-3d%-6.2f\n", transfer.Number, transfer.cash_payments ) ;
printf("%s\n%s\n",
"1 Number account:",
"2 Client cash payments: "
);
} }
void blackRecord(FILE *ofPTR, FILE *ofPTR_2 , FILE *blackrecord , Data client_data , Data transfer ){
while(fscanf( ofPTR , "%d%s%s%s%s%lf%lf%lf", &client_data.Number , client_data.Name , client_data.Surname , client_data.addres, client_data.TelNumber, &client_data.indebtedness, &client_data.credit_limit, &client_data.cash_payments) != -1 ) {
while ( fscanf( ofPTR_2 , "%d %lf", &transfer.Number , &transfer.cash_payments ) != -1 ){
if( client_data.Number == transfer.Number && transfer.cash_payments != 0 ){
client_data.credit_limit += transfer.cash_payments;
}
}
fprintf(blackrecord ,"%-12d%-11s%-11s%-16s%20s%12.2f%12.2f%12.2f\n", client_data.Number, client_data.Name, client_data.Surname, client_data.addres, client_data.TelNumber, client_data.indebtedness, client_data.credit_limit , client_data.cash_payments ) ;
rewind( ofPTR_2 );
} }
В новом Сорокине мне больше всего понравились "Фиолетовые лебеди".
+3
class _automodule(types.ModuleType):
"""Automatically import lexers."""
def __getattr__(self, name):
info = LEXERS.get(name)
if info:
_load_lexers(info[0])
cls = _lexer_cache[info[1]]
setattr(self, name, cls)
return cls
raise AttributeError(name)
oldmod = sys.modules[__name__]
newmod = _automodule(__name__)
newmod.__dict__.update(oldmod.__dict__)
sys.modules[__name__] = newmod
del newmod.newmod, newmod.oldmod, newmod.sys, newmod.types
Динамичненько!
+2
// https://github.com/Samsung/ADBI/blob/3e424c45386b0a36c57211da819021cb1929775a/idk/include/division.h#L138
/* Long division by 10. */
static unsigned long long int div10l(unsigned long long int v) {
/* It's a kind of magic. We achieve 64-bit (long) division by dividing the two 32-bit halfs of the number 64-bit
* number. The first (most significant) half can produce a rest when dividing, which has to be carried over to the
* second half. The rest_add table contains values added to the second half after dividing depending on the rest
* from the first division. This allows evaluation of a result which is almost correct -- it can be either the
* expected result, or the expected result plus one. The error can be easily detected and corrected.
*/
/* one dream */
static unsigned long long int rest_add[] = {
0x00000000, 0x1999999a, 0x33333334, 0x4ccccccd, 0x66666667,
0x80000001, 0x9999999a, 0xb3333334, 0xcccccccd, 0xe6666667
};
/* one soul */
unsigned long long int a = div10((unsigned int)(v >> 32));
unsigned long long int b = div10((unsigned int)(v & 0xffffffff));
/* one prize */
int ri = (v >> 32) - a * 10;
/* one goal */
unsigned long long int ret = (a << 32) + b + rest_add[ri];
/* one golden glance */
if (ret * 10L > v) {
//printf("OGG %llu %llu\n", ret * 10, v);
--ret;
}
/* of what should be */
return ret;
}
Деление на 10. Но зачем? Неужели компилятор настолько туп, что сам не может этого сделать?
И да, эти туповатые комментарии one dream, one soul это отсылка к песне Queen - A Kind of Magic https://youtu.be/0p_1QSUsbsM
0
https://github.com/abseil/abseil-cpp
Гугл заопенсорсил какой-то велосипед. Давайте обсирать его.