Копипаст

Копипаст | Python и МЫ

Python и МЫ
Python и МЫ


Данная тема развивает темы: Учим C# зная basic
Учу EXCEL за 6 минут в избранном у около 70 здешних
Учим c# windows forms зная basic
и наверняка подходит под форум Торговые роботы

Сейчас цель показать: посмотрев случайные видео уроки Python
легко и просто научиться программировать хоть что-то
и читать чужие программы и для начала проверять программы онлайн

Список программ ведёт в онлайн компилятор
QUAD rextester.com/IKMBI48397
FIBR rextester.com/FEEJ49204
SORT rextester.com/ZQSY77323
QUA rextester.com/OJN42859
+ qb64 Рюкзак 0-1 Knapsack 0-1

QUAD угадывает 1 из квадрилиона 10^15 за логарифмические шаги
и повторяет мои давнишние программы на qbasic & qb64 & C#

import random # QUAD rextester.com/IKMBI48397
h1, h2, t, f = 0, 10**15, 0, 0
c = random.randrange(0,h2) #comp
h = random.randrange(0,h2) #human
while f<1:
    print(t,c,h)
    if h<c:
        print('БОЛЬШЕ')
        a=h
        h=int((h+h2)/2)
        h1=a
    elif h>c:
        print('меньше')
        a=h
        h=int((h1+h)/2)
        h2=a
    else:
        print('угадано за', t, 'шагов')
        f=1
    t=t+1

FIBR числа Фибоначчи в столбик

fi1=fi2=fi3=1 # FIBR rextester.com/FEEJ49204
for da in range(1, 88):
    print("."*(20-len(str(fi3))), end=' ')
    print(fi3)
    fi3 = fi2+fi1
    fi1 = fi2
    fi2 = fi3
Результат должен быть ровный столбец:
................... 1
................... 2
................... 3

....... 6557470319842
...... 10610209857723
...... 17167680177565

.. 420196140727489673
.. 679891637638612258
. 1100087778366101931

SORT простейшая пузырьковая сортировка
from random import randint #sort rextester.com/ZQSY77323
N=10
a = [1]
for i in range (1,N):
    a[i]=a.append(i) 
    a[i]=randint(1,10)
    print(a[i], end=' ')
print()
for i in range (0,len(a)-1):
    for j in range (i,len(a)):
       if a[i]>a[j]:
           t=a[i]
           a[i]=a[j]
           a[j]=t
for i in range (1,len(a)):
    print(a[i], end=' ')
Пример:
5 3 4 9 6
3 4 5 6 9 

QUA остроумное квадратное уравнение:
ответы текстовые или числовые

a,b,c= 1, 6, 5 # QUA rextester.com/OJN42859
d=(b*b)-(4*a*c)
if d<0:
    x1='без '
    x2="решения"
else:
    x1=(-b+(d**0.5))/(2*a)
    x2=(-b-(d**0.5))/(2*a)
    print(a*x1*x1 +b*x1 +c)
    print(a*x2**2 +b*x2 +c)
print(x1,x2)
Ответ: «без решения» или сейчас:
0 0  -1  -5 

Python и МЫ

Заодно на qbasic qb64 кратко решена классическая задача Рюкзак 0-1

Оглавление: rosettacode.org/wiki/Knapsack_problem
Подробно англ.: rosettacode.org/wiki/Knapsack_problem/0-1

Новейшая моя программа синтезирует все шифры 0 и 1
добавляя лишний регистр и 0 остаются слева в шифре 

Количество сравнений уменьшается с N! до 2^N
например N=5 N!=120 >> 2^N=32

Автоматически присваиваются случайные значения
количества и качества и получается интеграл стоимости
и вообще: интеграл количества и качества

Программа пишет в каталог qb64
Open "knapsack.txt" For Output As #1
N=7: L=5: a = 2^(N+1): Randomize Timer 'knapsack.bas DANILIN
Dim L(N), C(N), j(N), q(a), q$(a), d(a)

For m=a-1 To (a-1)/2 Step -1: g=m: Do ' sintez shifr
    q$(m)=LTrim$(Str$(g Mod 2))+q$(m)
    g=g\2: Loop Until g=0
    q$(m)=Mid$(q$(m), 2, Len(q$(m))) 
Next

For i=1 To N: L(i)=Int(Rnd*3+1) ' lenght & cost
C(i)=10+Int(Rnd*9): Print #1, i, L(i), C(i): Next ' origin

For h=a-1 To (a-1)/2 Step -1
    For k=1 To N: j(k)=Val(Mid$(q$(h), k, 1)) ' from shifr
        q(h)=q(h)+L(k)*j(k)*C(k) ' 0 or 1
        d(h)=d(h)+L(k)*j(k)
    Next
    If d(h) <= L Then Print #1, d(h), q(h), q$(h)
Next
max=0: m=1: For i=1 To a
    If d(i)<=L Then If q(i) > max Then max=q(i): m=i
Next
Print #1,: Print #1, d(m), q(m), q$(m): End
Результат сокращён вручную: там длины и интегралы и наибольшая сумма произведений
1             2             17 
 2             2             14 
 3             2             17 
 4             1             11 
 5             2             18 
 6             3             14 
 7             3             10 

 5             73           1101000
 2             28           0100000
 5             81           0011100 !!!
 3             45           0011000
 5             76           0010010
 2             36           0000100

 5             81           0011100

Главное очень кратко и понятно думаю всем

Python и МЫ

n=5; N=n+1; G=5; a=2**N		# N=7: L=5: a = 2^(N+1): 'knapsack.bas DANILIN
L=[];C=[];e=[];j=[];q=[];s=[]	# Dim L(N), C(N), j(N), q(a), q$(a), d(a)
d=[];L=[1]*n;C=[1]*n;e=[1]*a	# KNAPSACK 0-1 DANILIN
j=[1]*n;q=[0]*a;s=[0]*a;d=[0]*a  # https://rextester.com/BCKP19591

from random import randint	# Randomize Timer 
for i in range(0,n):		# For i=1 To N 
    L[i]=randint(1,3)		# L(i)=Int(Rnd*3+1) 
    C[i]=10+randint(1,9)	# C(i)=10+Int(Rnd*9) 
    print(i+1,L[i],C[i])	# Print i, L(i), C(i): Next
print()

for h in range(a-1,(a-1)//2,-1):# For m=a-1 To (a-1)/2 Step -1: g=m: Do
    b=str(bin(h))		# q$(m)=LTrim$(Str$(g Mod 2))+q$(m): g=g\2: Loop Until g=0
    e[h]=b[3:len(b)]		# q$(m)=Mid$(q$(m), 2, Len(q$(m))): Next
        
    for k in range (n):		# For k=1 To N:
      j[k]=int(e[h][k])		# j(k)=Val(Mid$(q$(h), k, 1)) ' from chifer
      q[h]=q[h]+L[k]*j[k]*C[k]	# q(h)=q(h)+L(k)*j(k)*C(k) ' 0 or 1
      d[h]=d[h]+L[k]*j[k]	# d(h)=d(h)+L(k)*j(k): Next
        
    if d[h]<= G:		# If d(h) <= L Then 
      print(e[h], G, d[h],q[h])	# Print #1, d(h), q(h), q$(h): Next
print()   

max=0; m=1 			# max=0: m=1: 
for i in range(a):		# For i=1 To a
    if d[i]<=G and q[i]>max:	# If d(i)<=L Then If q(i) > max 
        max=q[i]; m=i		# Then max=q(i): m=i: Next
print (d[m], q[m], e[m])	# Print #1,: Print #1, d(m), q(m), q$(m): End

# Mass Cost
1 2 12
2 3 17
3 1 14
4 3 17
5 1 13

Chifer Mass Cost           
11000 5 5 75
10101 5 4 51
01001 5 4 64
00111 5 5 78 !!!
00110 5 4 65
00101 5 2 27
00000 5 0 0

Mass MAX Chifer
5 78 00111


★2
32 комментария
C#_за_час_11.mp4 55 МБ
ссылка без счётчика включает просмотр

cloud.mail.ru/public/p495/7eiY8sbwB

и ещё возможны картинки из видео

видео пол-часа про начало программирования C#
неизвестного автора инверсией переведено в тёмный фон
зато 2-я часть непонятная и не прилагается
Python-2022 без счётчика: 10 видео
неизвестного автора понятные и ещё увеличены

cloud.mail.ru/public/VusB/6tPEgexsv
Норм
avatar
Массивы ввод вручную недопустим в 21 веке
и в онлайн компиляторы несовместимо
поэтому предлагается универсальное...

Заполнение массива случайными целыми от -100 до 100
и вывод на экран

Excel Эксцель

=случмежду(-100;100)
=случмежду(0;200)-100
qbasic qb64 массив случайных от -100 до 100
N=10: Dim a(N): Randomize Timer 'massiv.bas
For i=1 To N: a(i)=Int(Rnd*200-100): ? a(i): Next
C# массив случайных от -100 до 100
rextester.com/CRPU41269

using System; //massiv.bat csc.exe /nologo massiv.cs 
namespace massiv { public class Program
{ static void Main(string[] args)
{ int N=10; int[] a = new int[N+1];
Random rand = new Random();
for (int i = 1; i <= N; i++)
{ a[i] = rand.Next(200)-100; 
Console.WriteLine(a[i]);
}
Console.ReadKey();
}}}
Дерзайте
Python случайныe от -100 до 100
import random
N=10
c=0
while c<N:
	a=random.randrange(-100,100)
	print(a)
	c=c+1
Логарифм Интегралыч, 

если так уж хочется использовать библиотеку random, а не numpy, то:
a = [random.randrange(-100,100) for _ in range(N)]

Если так уж хочется распечатать каждое число на отдельной строке, то:
print(*a, sep='\n')
avatar
есть программа выводящая таблицу
_1__2__3__4__5
_2__4__6__8_10
_3__6__9_12_15
_4__8_12_16_20
_5_10_15_20_25

где '_' = пробел и каждое значение i*j
в 8 строк программы
? возможно ли короче или мож стандарт какой ?

проверка: сохраняются ли отступы

for i in range (1,6): # TABL rextester.com/TIDN80674
    for j in range (1,6):
        x=i*j
        if x<10:
            print('',x, end=' ')
        else:
            print(x, end=' ')
    print ()

число займёт 2 позиции: "%2d" % значение

for i in range (1,6):
    for j in range (1,6):
        print ("%2d" % (i*j),end=' ')
    print()

_1__2__3__4__5
_2__4__6__8_10
_3__6__9_12_15
_4__8_12_16_20
_5_10_15_20_25

3-строчная программа ниже работает:
rextester.com/XZABEI1536
Логарифм Интегралыч, 

вот в три строчки:
 заполняем:
a = [[i * j for i in range(1, 6)] for j in range(1, 6)]

переводим в list of str:
b = [[' ' + str(v) if v < 10 else str(v) for v in row] for row in a]

распечатываем:
print(*[' '.join(row) for row in b], sep='\n')
avatar
каждая программа включает ссылки в онлайн компилятор

и там возможно научиться программировать как в школе
используя мои краткие остроумные примитивные примеры

однако что-то подсветка синтаксиса отсутствует 
Логарифм Интегралыч, а на фига? Есть полноценные книги по Питону, с примерами. Неделя вечерами или даже меньше, и Питон ваш.
А обрывки кода, так, даже я, неплохо зная Питон, влет их не воспринимаю, хотя, о каких алгоритмах речь по названию понятно.
avatar
обрывки кода у комментаторов
и даже я как применить ответы пока не знаю

зато моя самостоятельная находка расширения массива
a[i]=a.append(i)
думаю ценная
def optimus_prime(val):
return [x for x in range(2,val+1) if all((x%y for y in range(2,1+int(x**0.5))))]

За 500руб, расскажу, что происходит
avatar
def мне требовались чрезвычайно редко
и в данной теме чем проще тем лучше

500р возможно сэкономить сахар не покупая
Логарифм Интегралыч, 
def мне требовались чрезвычайно редко
И напрасно. Простенький код на страничку без 3-4 оределений функций (def) и их применения в коде программы уже перестает читаться. Вы и сами в своем коде уже через 1-2 неделю перерыва с трудом разберетесь. Эт я по себе сужу.))
Не говоря уж о более сложных программах, где уже не только def, но и class нужны.

avatar


Макрос Word заменяет буквы русские на похожие буквы импортные
что затрудняет интернет поиск на форумах и др.… разработка 1999г.
ещё при старом режиме


Sub IMPORTNYE()
'
Dim N(17), y(17) As Variant

N(1) = «у»: y(1) = «y»
N(2) = «е»: y(2) = «e»
N(3) = «Н»: y(3) = «H»
N(4) = «х»: y(4) = «x»
N(5) = «а»: y(5) = «a»
N(6) = «р»: y(6) = «p»
N(7) = «о»: y(7) = «o»
N(8) = «с»: y(8) = «c»
N(9) = «Е»: y(9) = «E»
N(10) = «Х»: y(10) = «X»
N(11) = «В»: y(11) = «B»
N(12) = «А»: y(12) = «A»
N(13) = «Р»: y(13) = «P»
N(14) = «О»: y(14) = «O»
N(15) = «С»: y(15) = «C»
N(16) = «М»: y(16) = «M»
N(17) = «Т»: y(17) = «T»

    Selection.HomeKey Unit:=wdStory
    ActiveWindow.View.Type = wdNormalView
    ActiveWindow.ActivePane.View.Zoom.PageFit = wdPageFitBestFit

For i = 1 To 17
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = N(i)
        .Replacement.Text = y(i)
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = True
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
Next i

    Selection.EndKey Unit:=wdStory
    ActiveWindow.View.Type = wdPageView
    ActiveWindow.ActivePane.View.Zoom.PageFit = wdPageFitBestFit
End Sub



Вероятность и МЫ

Школьные математические олимпиады 1990-х годов включали
задачи по теории вероятностей и на вопрос как выиграть
в лотерею отвечал: тиражи проигрышные пропустить

Школа мало изучает простые дроби и интегралы визуально
хотя интегральные задачи денежные решаются ежедневно
и больше понимая люди могли бы рассчитывать оптимально

В школе была придумана программа свой ключ где алгоритм
синтезировал независимый ключ любому пользователю
что используют современные программы при регистрации

Расчётные программы на бэйсик сейчас делал бы в Excel
и вообще ячейки Excel: развитие языка Basic

Формулы использовались простейшие где максимально
сложная функция: факториал перемножение целых чисел

Визуализация очевидная для меня: многим незнакома
например соединение множества точек между собой
что мы программировали на информатике в школе оказывается
встречается во многих задачах и создаётся таблица
пирамида например для 3-х переменных АБВ пары АБ АВ БВ
помогают понять многие задачи где есть связи точек
будь то сортировка или транспорт или варианты
причём формула количества связей X=N*(N-1)/2 в общем виде
включает факториал и помогает считать варианты в уме

В 21 веке интересовали лотереи где доступны вероятности
от 25% равно четверть до 80% равно 4/5-х и главный принцип:
возможность остановиться в любую минуту исключив азарт

Наиболее дальновидно оказалось изучение событий подряд
и в 2010-х годах мной самостоятельно вычислено:
если умножение постоянных вероятностей вычисляет формула
C+p^N=1 тогда N = LOG(1-C)/LOG(1-p) где
C — вероятность выигрыша гарантированного
p — вероятность выигрыша события

Допустим нужна гарантия угадывания c=99% вероятности p=25%
формула понятная людям принимает вид 0,99+0,25^N=1

Значит сделав N ходов мы получим выигрыш с вероятностью 99%
и подставив в формулу выше N = LOG(1-0,99)/LOG(1-0,25) =16

Значит для вероятности 25% видя 16 раз одинаковых случаев
далее с вероятностью 99% следующий шаг изменит признак
однако вероятность проигрыша 1% остаётся и возможно
составить таблицу вероятности события и вероятности угадать
где результат расчётов: количество одинаковых подряд

Упрощённо возможно рассчитывать для c=99%: N = 7+(5*(1/p-2))
например для p=0,25 N = 7+(5*(1/0,25-2)) = 17
причём график: гипербола и похожие формулы нигде не обнаружены

Скачав дюжину книг теории вероятностей и распознав и индексируя
формулы с логарифмами расчёта подряд будто прячутся
хотя в интернете подобные расчёты размещали в темах по экономии

Запомнив значения формул для дюжины вероятностей сами формулы
кажутся ненужными до расчётов новых значений

Двоичные бинарные 0 или 1 возможно контролирует принцип x01y01
где после множества нулей пропущенных не участвуя
далее надежда якобы быстро появится признак выигрышный
и там где признаков много лучше контролировать все признаки

Деление одинаковых событий подряд встречается в технике
например рельсы разделены против теплового удлинения
и даже дыхание и питание и получки чередуют актив и пассив

Изобретён квадрат экономии объединяющий знания про логарифм
где повышение ставок по вертикали переходит в постоянные ставки
по горизонтали и выигрыш поглощает предыдущие проигрыши столбца

Причём заполнять квадрат экономии возможно по правилам
или произвольно и оформляется вручную как бумажки на столе
или на языке программирования или в Excel

График баланса включает минимаксы пики шпили иглы и есть
алгоритмы определяющие критические точки сравнивая значения
выше и ниже и посредине и распознавая паттерны и есть
алгоритмы ставящие копейки и получая результаты милли игр
и выявив паттерн далее 1 тираж ставя суммы крупнее

Знания помогли выигрывать конкурсы бесплатных вариантов
с настоящими призами где затраты на участие отсутствовали
и возможно появятся лотереи с перевесом в пользу игрока
плюс возможность угадать с вероятностью 50% есть в каждой лотерее

Спортивные ставки из-за проблем с выплатами не заинтересовали
зато собрана статистика игр в футбол за год и многие результаты
распределяются как простые дроби

Боты собирают результаты игр даже без участия и далее знания
применимы без автоматизации чтобы выигрывать бесплатные конкурсы

В конце 2010-х годов математические форумы спрашивали подобные
расчёты и вызывали странные ответы мол тема сразу закрывается

Рассмотрев задачу разложения массива чисел на спектры повторения
2-ичных признаков создаётся биномиальная пирамида значений спектров
и если слои спектры отсутствуют выявляются массивы не случайные

Например массив тысяч элементов 1 0 1 0 1 имеет постоянные разницы
признаков максимум 1 подряд и заполнится единственный спектр

Массив тысяч случайных элементов 1 0 1 0 1 создаёт цепочки
подобных подряд и одинаковое количество цепочек подряд распределяется
биномиально, вида: 1 подряд 64 штуки, тогда 2 подряд 32 штуки
и 3 подряд 16 штук и т.д., значит исследуемы массив,
распределивший цепочки подряд биномиально: случайный

Природные шумы заполняют спектры без пауз и теоретически различимы
в то время как псевдо случайные массивы заполнят все спектры

Логарифмические волны вероятности повышают надёжность угадать
показывая превышает ли количество одинаковых подряд теоретические

Изучая в 2010-х годах языки программирования современные
удалось выйти на форумы программистов российские и иностранные
плюс получено свидетельство о гос регистрации программы для ЭВМ

Также зарегистрирован алгоритм Русская сортировка половинами

Понимание теоретически помогает понимать достоверность случайных
процессов например выборов и генераторов псевдо случайных чисел

Российские форумы якобы заинтересованных изучать случайности
в реальности анти научные и никакие формулы не знают
да и литература и кино показывают ошибочные стратегии игр

Иностранный форум в ответ подарил дюжину новейших статей
по вероятности и по квантовой запутанности и на другие темы
однако новые статьи все на иностранном языке
причём мои формулы иностранцам неизвестные не рассматриваются
и ныне иноязычные статьи на русский язык полностью не переведены

За время общения по программированию мной созданы алгоритмы:
разукрашивание цветом как остаток от деления на период
плюс угадывание чисел в 1 строку плюс компьютер угадывает число
до триллиона за логарифмическое количество шагов
плюс алгоритм рюкзак оптимального выбора плюс проверки в Excel

Excel совместимые среды рассчитывают и строят графики за минуты
что на языках программирования для большинства недостижимо

Существуют онлайн компиляторы языков программирования проверяющие
расчёты без установки языка в компьютер и встраиваются на страницы

Обратился на форум программистов сразу предлагая массив иностранных
статей однако переводчики не откликнулись

Оформил статьи о фальсификации случайности используя материал
заявки гос регистрации программы для ЭВМ и сам комментировал

Около 100 комментаторов сомневались и разделились биномиально:
непонявшие токсичные     56 %
непонявшие позитивные     24 %
понявшие токсичные     14 %
понявшие позитивные     6 %

Каждый слой превышает ближайший слой примерно в 2 раза

Биномиальное распределение процентов 56 +24 +14 +6 =100 возможно
свойственно процессам где создаётся таблица 2 на 2 элемента
и заметна закономерность: 24% в 4 раза больше 6% и 56%/14% =4  

Квадрат 10x10=100 клеток делит точка в месте 2 на 3 клетки
и получаются целые зоны 2x3=6 и 2x7=14 и 3x8=24 и 7x8=56

Читатели сами себе противоречили мол статья якобы неполная
на что отвечаю: будет 2-я часть и в ответ: всё же рассказано

Обе статьи получили множество минусов и отключили от форума
зато оставалась возможность 1 раз включиться ещё раз
что использовал разместил завершающую статью про языки
и про алгоритмы быстрого обучения языкам программирования

Статистика публикаций показывает: за минувшие годы просмотрены
тысячи раз и посещают ежедневно и мне поиск рекомендовал моё
если искал что-нибудь про случайные числа

Независимый сайт сканирует форумы и соцсети и собирает статьи
про искусственный интеллект и списал себе мои статьи
и ещё зеркало исходного форума включает темы без комментариев

Данный текст проверенный донельзя для многих звучит как бред

Дальнейшее развитие: применять формулы в жизни
и реализовать принцип: деление подобных случаев подряд


Тема охватывает темы Python:

1. массив 1-мерный
2. массив 2-мерный
3. числовые
4. строковые
5. время
6. условие
7. перебор
8. цикл
9. печать
10. функции
11. файлы
12. комментарии


Курьёз 2019 года:

qbasic угадай число: 1 строка
qb64: guess number: 1 line

1 IF Russia = 0 THEN Russia = 2222: RANDOMIZE TIMER: num = INT(RND * 100) + 1: GOTO 1 ELSE IF Russia <> 0 THEN INPUT n: IF n < num THEN PRINT «MORE»: GOTO 1 ELSE IF n > num THEN PRINT «less»: GOTO 1 ELSE IF n = num THEN PRINT «da»: END ELSE GOTO 1 'DANILIN Russia 9-9-2019 guessnum.bas

C# угадай число: 1 строка
C# guess number: 1 line

using System; using System.Text; namespace DANILIN { class Program { static void Main(string[] args) { Random rand = new Random(); int Russia = 0; int n = 0; int num = 0; dav: if(Russia == 0) {Russia = 2222; num = rand.Next(10)+1; goto dav; } else if (Russia != 0) {Console.Write("? "); n = rand.Next(10)+1; Console.Write(" {0} {1} ", num, n); } if (n < num) { Console.WriteLine(«MORE»); goto dav; } else if (n > num) { Console.WriteLine(«less»); goto dav; } else if (n == num) {Console.Write(«da»); } else goto dav; } } } // n = Convert.ToInt32(Console.ReadLine()); Console.ReadKey(); DANILIN Russia 9-9-2019 rextester.com/XZGC82928 guessnum.cs
Слово наоборот и большие буквы

n='palindrom'
for i in range(len(n)-1,-1,-1):
    print (n[i].upper(),end="")

MORDNILAP

+Этюд
s=«abcdefghij»
print (s[2:6])

cdef
функция гипотенуза

def g(a,b):
    g=(a**2+b**2)**0.5
    return g

z,x=3,4
s=g(z,x)
print (s)

5.0
заполнение массива подряд в обратном порядке

N=10
a=[i for i in range(N-1,-1,-2)]
print (a)

[9, 7, 5, 3, 1]

в учебниках пока не встречал

массив N нулей

N=10
a=[]
a.append([0]*N)
print (a)

[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]

2-мерный массив 3х5: важна фантазия и визуализация

a=[]
a=[[int(i+j) for i in range (3)] for j in range (5)]
print (a)
[[0, 1, 2], [1, 2, 3], [2, 3, 4], [3, 4, 5], [4, 5, 6]]

Диагонали матрицы 5х5
for k in range (5):
    print (a[k][k])
    print (a[k][4-k])

Встраиваем Питон Python

сайт trinket.io ждём и откроется Python

программ несколько отклонил из-за случайных
зато включилось угадывание из миллиарда

слева кнопка 3 линии  и там Embed Iframe

<iframe src=«trinket.io/embed/python/e0d27a00c6» width=«100%» height=«356» frameborder=«0» marginwidth=«0» marginheight=«0» allowfullscreen></iframe>

встраивается на многие сайты

Программа MILLIARD угадывает 1 из тысяч на qbasic qb64

 

h1=0: h2=10^3:t=1:f=0: Randomize Timer 'daMilliard.bas

human = Int(Rnd*h2) 'human

comp = Int(Rnd*h2) 'comp

 

While f < 1

Print t; «human =»; human; "     comp ="; comp;

 

If comp < human Then

Print " MORE": a=comp: comp=Int((comp+h2)/2): h1=a

 

  Else If human < comp Then

  Print " less": a=comp: comp=Int((h1+comp)/2): h2=a

 

    Else If human=comp Then

    Print " win by "; t; " steps": f=1

End If: End If: End If: t = t + 1

Wend: End

 

 

Диапазон от 1 до 100 :

 

1    40    11    MORE

2    40    55    less

3    40    33    MORE

4    40    44    less

5    40    38    MORE

6    40    41    less

7    40    39    MORE

8    40    40    win by 8 steps

Программа C# Миллиард угадывающая 1 из 1'000'OOO'ooo

за =log(10^9;2) за 30 ходов

 

https://rextester.com/DYVZM84267

 

using System; using System.Text; //daMilliard.cs

namespace DANILIN

 

{ class Program

    { static void Main(string[] args)

    { Random rand = new Random();int t=0;

int h2=100000000; int h1=0; int f=0;

int comp = rand.Next(h2);

int human = rand.Next(h2);

 

while (f<1)

{ Console.WriteLine();Console.Write(t);

Console.Write(" ");Console.Write(comp);

Console.Write(" ");Console.Write(human);

 

if(comp < human)

{ Console.Write(" MORE");

int a=comp; comp=(comp+h2)/2; h1=a; }

 

else if(comp > human)

{ Console.Write(" less");

int a=comp; comp=(h1+comp)/2; h2=a;}

 

else {Console.Write(" win by ");

Console.Write(t); Console.Write(" steps");f=1;}

t++; }}}}

C# Knapsack 0-1 Рюкзак бинарный binary

using System;using System.Text;        // KNAPSACK 0-1 DANILIN    
namespace Knapsack { class Program { static void Main()
   
{ int n=5; int G=5; int u=n+1; int a=Convert.ToInt32(Math.Pow(2,u));
int[] L = new int[n]; int[] C = new int[n]; int[] j = new int[n];
int[] q = new int[a]; int[] S = new int[a]; int[] d = new int[a];
int dec; int i; string[] e = new string[a];
int h; int k; int aa; int max; int m; Random rand = new Random();

for (i=0; i<n; i++) // rextester.com//KNADH83291
{L[i]=1+rand.Next(3); C[i]=10+rand.Next(9);
Console.Write(i+1); Console.Write("   ");
Console.Write(L[i]); Console.Write("   ");
Console.Write(C[i]);Console.WriteLine();
} Console.WriteLine();
 
for (h = a-1; h>(a-1)/2; h--)
{ dec=h; while (dec > 0)
{ e[h] = dec % 2 + e[h]; dec/=2; }
if (e[h] == "") {e[h] = «0»;}
e[h]=e[h].Substring(1,e[h].Length-1);

for (k=0; k<n; k++)
{j[k]=Convert.ToInt32(e[h].Substring(k,1));
 
q[h]=q[h]+L[k]*j[k]*C[k];
d[h]=d[h]+L[k]*j[k];}
   
if (d[h]<= G)
{ Console.Write(G);  Console.Write("  ");
 Console.Write(d[h]); Console.Write("  ");
 Console.Write(q[h]); Console.Write("  ");
 Console.WriteLine(e[h]);}
} Console.WriteLine();
 
max=0; m=1;
for (i=0; i<a; i++)
{ if (d[i]<=G && q[i]>max)
{ max=q[i]; m=i;}}
 
Console.Write(d[m]); Console.Write("  ");
Console.Write(q[m]); Console.Write("  ");
Console.WriteLine (e[m]);}
}}

C# Knapsack 0-1 Рюкзак бинарный binary

using System;        // Knapsack C# binary DANILIN
using System.Text;    // rextester.com/YRFA61366
namespace Knapsack
{
class Knapsack 
    {
    static void Main()
        {
            int n = 7;
            int Inside = 5;
            int all=Convert.ToInt32(Math.Pow(2,(n+1)));
            int[] mass = new int[n];
            int[] cost = new int[n];
            int[] jack = new int[n];
            int[] quality = new int[all];
            int[] amount = new int[all];  
            int i;             // circle
            int k;             // circle
            int dec; 
            string[] bin = new string[all];
            int list;
            int max;
            int max_num;
            Random rand = new Random();

            for (i=0; i<n; i++)
            {
                mass[i]=1+rand.Next(3);
                cost[i]=10+rand.Next(9);
                Console.WriteLine("{0} {1} {2}", i+1, mass[i], cost[i]);
            }
            Console.WriteLine();

            for (list = all-1; list>(all-1)/2; list--)
            {
                dec=list;
                while (dec > 0)
                {
                    bin[list] = dec % 2 + bin[list]; // from 10 to 2
                    dec/=2;
                }
                if (bin[list] == "")
                {
                    bin[list] = «0»;
                }
                bin[list]=bin[list].Substring(1,bin[list].Length-1);
                for (k=0; k<n; k++) // inside 01
                {
                    jack[k]=Convert.ToInt32(bin[list].Substring(k,1));
                    quality[list]=quality[list]+mass[k]*jack[k]*cost[k];     // integral of costs
                    amount[list]=amount[list]+mass[k]*jack[k];     // integral of mass
                }       
                if (amount[list]<= Inside)        // current mass < Knapsack
                {
                    Console.WriteLine("{0} {1} {2} {3}", Inside, amount[list], quality[list], bin[list]);
                }
            }
            Console.WriteLine();

            max=0;
            max_num=1;
            for (i=0; i < all; i++)
            {
                if (amount[i]<=Inside && quality[i]>max)
                {
                    max = quality[i]; max_num =i ;
                }
            }
            Console.WriteLine("{0} {1} {2}",amount[max_num],quality[max_num],bin[max_num]);
        }
    }
}
Python: число простое или множители

import time; from random import randint # PRIME_mult.py russian DANILIN
p = randint(1, 2**25); s=int(p**0.5); f=0; j=2; q=0;    # p=2**31-1;
while f < 2:             # rextester.com/QFZD94890
    if j >= s:             # 2**31-1 = 2_147_483_647
        f=2             # max 2_308_621_829
    if p % j == 0:
        q=1
        print (p,j,int(p/j))
    j+=1
if q != 1:
    print(p," Prime", p/10**9, " BillionS")
print(time.perf_counter(), " seconds")

QB64: число простое или множители

Dim p As Long: f=0: j=2: q=0: t=Timer: ' p = 2^31-1:
Randomize Timer: p = int(rnd*2^25): s=p^0.5 ' PRIME_mult.bas russian DANILIN
While f < 1 ' PRIME_.bas russian DANILIN
    If j >= s Then f=2
    If p Mod j = 0 Then q=1: Print p, j, Int(p/j)
    j = j + 1
Wend
If q <> 1 Then Print p, " Prime", p/10^9, " BillionS"
Print p, Timer — t

C#: число простое или множители

using System; using System.Text; // PRIME_mult.cs russian DANILIN
namespace prime // rextester.com/VBXFL2777
{ class Program
    { static void Main(string[] args)
        { var start = DateTime.Now; int f=0; int j=2; int q=0;
            Random rand = new Random(); // long p = 2147483648-1;
            long p = rand.Next(Convert.ToInt32(Math.Pow(2, 22))-1);
            long s = Convert.ToInt32(Math.Pow(p,0.5));
            while (f < 1)
            { if (j >= s)
                { f=2; }
              if (p % j == 0)
              { q=1; Console.WriteLine("{0} {1} {2}",p,j,Convert.ToInt32(p/j));}
              j++;
            }
if (q != 1) { Console.WriteLine(«Prime {0} BillionS», p); }
var finish = DateTime.Now;
Console.WriteLine(finish — start);
Console.ReadKey();
}}}
XonixPRO



xonix and persecuting flashing enemy
my engine: islands to include can not

this is Neuro Net & Artificial Intelligence
& rebel of machine

Randomize Timer: b = 15: a = 45 'b = Int(Rnd*15+10): a = Int(Rnd*25+10): ' xonixPRO.bas
y = Int(Rnd * (b-3)+3): x = Int(Rnd * (a-3)+3): d=Int(Rnd * 4+1)
'y = 5: x = 5: b = 10: a = 20: d=1 ' xonixPRO.bas

For i = 1 To a: Print "#";: Next: Print ' area
For j = 1 To b-2: Print "#";: For k = 1 To a-2: Print ".";: Next: Print "#": Next
For i = 1 To a: Print "#";: Next: p = 5: s = 5

For q = 0 To 1000: _Delay .1:

    If q Mod 30 = 0 Then
        Locate p, s: Print " ":
        p = Int(Rnd * (b-3)+3): s = Int(Rnd * (a-3)+3)
    End If

    Locate p, s: Print " ": Locate y, x: Print " ":

    If d=1 Then If (y-1 = 1) And (x+1 = a) Then d=3
    If d=1 Then If (y-1 > 1) And (x+1 = a) Then d=4
    If d=1 Then If (y-1 = 1) And (x+1 < a) Then d=2
    If d=1 Then y = y-1: x = x+1

    If d=2 Then If (y+1 = b) And (x+1 = a) Then d=4
    If d=2 Then If (y+1 < b) And (x+1 = a) Then d=3
    If d=2 Then If (y+1 = b) And (x+1 < a) Then d=1
    If d=2 Then y = y+1: x = x+1

    If d=3 Then If (y+1 = b) And (x-1 = 1) Then d=1
    If d=3 Then If (y+1 < b) And (x-1 = 1) Then d=2
    If d=3 Then If (y+1 = b) And (x-1 > 1) Then d=4
    If d=3 Then y = y+1: x = x-1

    If d=4 Then If (y-1 = 1) And (x-1 = 1) Then d=2
    If d=4 Then If (y-1 > 1) And (x-1 = 1) Then d=1
    If d=4 Then If (y-1 = 1) And (x-1 > 1) Then d=3
    If d=4 Then y = y-1: x = x-1

    If p < y Then p = p+1
    If p > y Then p = p-1
    If s < x Then s = s+1
    If s > x Then s = s-1

    Locate p, s: Color 2 + q Mod 3: Print "#":
    Locate y, x: Color 7: Print "@"
Next

XONIX много летающих меняют цвет если сталкиваются



Randomize Timer: b = Int(Rnd*10+15): a = Int(Rnd*10+15): ' xonixMAS.bas
N = Int(Rnd*5+3): Dim d(N), y(N), x(N), q$(N), c(N): _Font 17
For e = 1 To N: q$(e) = Mid$(Str$(e), 2, 1): Next

For i = 1 To N
    y(i) = Int(Rnd*(b-3)+3): x(i) = Int(Rnd*(a-3)+3): d = Int(Rnd*4+1)
    d(i) = Int(Rnd*4)+1: c(i) = Int(Rnd*5+1)
Next 'y(i)=5: x(i)=5: b=10: a=20: d=1 ' xonix.bas DANILIN

For i = 1 To a: Print "#";: Next: Print ' area
For j = 1 To b-2: Print "#";: For k = 1 To a-2: Print ".";: Next: Print "#": Next
For i = 1 To a: Print "#";: Next

For q = 1 To 1000: _Delay .08:

    For i = 1 To N: Locate y(i), x(i): Print " "

        If d(i)=1 Then If (y(i)-1=1) And (x(i)+1=a) Then d(i)=3
        If d(i)=1 Then If (y(i)-1>1) And (x(i)+1=a) Then d(i)=4
        If d(i)=1 Then If (y(i)-1=1) And (x(i)+1<a) Then d(i)=2
If d(i)=1 Then y(i)=y(i)-0.5*(1+i mod 2): x(i)=x(i)+0.5*(1+i mod 2)

        If d(i)=2 Then If (y(i)+1=b) And (x(i)+1=a) Then d(i)=4
        If d(i)=2 Then If (y(i)+1<b) And (x(i)+1=a) Then d(i)=3
        If d(i)=2 Then If (y(i)+1=b) And (x(i)+1<a) Then d(i)=1
If d(i)=2 Then y(i)=y(i)+0.5*(1+i mod 2): x(i)=x(i)+0.5*(1+i mod 2)

        If d(i)=3 Then If (y(i)+1=b) And (x(i)-1=1) Then d(i)=1
        If d(i)=3 Then If (y(i)+1<b) And (x(i)-1=1) Then d(i)=2
        If d(i)=3 Then If (y(i)+1=b) And (x(i)-1>1) Then d(i)=4
If d(i)=3 Then y(i)=y(i)+0.5*(1+i mod 2): x(i)=x(i)-0.5*(1+i mod 2)

        If d(i)=4 Then If (y(i)-1=1) And (x(i)-1=1) Then d(i)=2
        If d(i)=4 Then If (y(i)-1>1) And (x(i)-1=1) Then d(i)=1
        If d(i)=4 Then If (y(i)-1=1) And (x(i)-1>1) Then d(i)=3
If d(i)=4 Then y(i)=y(i)-0.5*(1+i mod 2): x(i)=x(i)-0.5*(1+i mod 2)

        For k=1 To N-1: For m=k+1 To N
        If y(k)=y(m) And x(k)=x(m) Then c(k)=Int(Rnd*5+1):c(m)=Int(Rnd*5+1)
        Next: Next
    Locate y(i), x(i): Color c(i): Print q$(i): Next
Next
Задача про сундук и замки на компьютере не решаемая

А навесил на сундук свой замок А и выслал В
В получил сундук и навесил свой замок В
и отправил сундук А
А получил сундук и снял свой замок А
и отправил сундук В
В получил сундук и снял свой замок В

Вопрос: возможно ли подобная пересылка на компьютере?


Task about chest and locks on computer is not solvable

A his lock A on chest and sent it to B
B received chest and hung his lock B in
and sent chest to A
A received chest and removed his lock A
and sent chest to B
B received a chest and removed his lock B

Question: Is such a transfer possible on a computer?

теги блога Логарифм Интегралыч

....все тэги



UPDONW
Новый дизайн