Форум программистов, компьютерный форум, киберфорум
Алгоритмы
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
 Аватар для DAV78
5 / 5 / 0
Регистрация: 01.09.2018
Сообщений: 87

Алгоритмы и языки и МЫ

07.03.2023, 01:00. Показов 4518. Ответов 33

Студворк — интернет-сервис помощи студентам
Алгоритмы и языки и МЫ

В данной теме размещаем простые алгоритмы на 8 языках
например:

c++ _ C# _ python _ javascript _ qb64 _ VB _ java _ php

или хотя бы минимум на 3-х языках одновременно
и сразу желательно проверяемые в онлайн компиляторе Rextester.com

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

Отличие от Rosettacode.org: здесь алгоритмы очень краткие

Добавлено через 4 минуты
Программа Функция функций включает:
корень степень экспонента логарифмы
тригонометрия и радианы из градусов
на 3-х языках python c# c++

Контрольный пример при x=90 y=1322 примерно


Python
https://rextester.com/EGXCM83414

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import math # funp.py
def funp(x): # rextester.com/EGXCM83414
    rad = x * math.pi / 180
    a = x ** (1 / 4)
    b = x**(1/2) #; print (b)
    c = math.cos(rad); print(c)
    d = math.log10(x) #; print (d)
    e = math.exp(b)
    f = math.log(x,math.exp(1))    
    return a + b + c + d + e + f
 
x = 90
y = funp(x) 
print(x, y)


C++
https://rextester.com/EKC21250

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream> // func.cpp
#include <cmath> // rextester.com/EKC21250
using namespace std; 
 
double func(double x)
{ double rad,a,b,c,d,e,f,func;
    rad = x * M_PI / 180;
    a = pow(x, 1/4);
    b = sqrt(x);  // cout << b << endl;
    c = cos(rad);    cout << c << endl;
    d = log10(x); // cout << d << endl;
    e = exp(b);
    f = log10(b) * log(e);
    func = a + b + c + d + e + f;
    return func;
}
 
int main()    
{ double x = 90.; 
    cout << x << "     " << func(x) << endl;
    system("pause");
}


C#
https://rextester.com/PYG11940

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
using System; // funx.cs
namespace funx1 { class funx2 
{ static void Main(string[] args)
{ double x = 90; // rextester.com/PYG11940
    Console.WriteLine("{0}  {1}", x, funx(x));
    Console.ReadKey();
}
 
public static double funx(double x)
  { double rad,a,b,c,d,e,f,funx;
    rad = x * Math.PI / 180;
    a = Math.Pow (x,1/4);
    b = Math.Sqrt(x);  // Console.WriteLine(b);
    c = Math.Cos(rad);    Console.WriteLine(c);
    d = Math.Log10(x); // Console.WriteLine(d);
    e = Math.Exp(b);
    f = Math.Log10(b) * Math.Log(e);
 
    return funx = a + b + c + d + e + f;
  }
}}
1
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.03.2023, 01:00
Ответы с готовыми решениями:

Какие языки знают все школьники и языки, которые знает хотя бы один из школьников
Каждый из N школьников некоторой школы знает Mᵢ языков. Создайте приложение, которое будет определять, какие языки знают все школьники и...

Определите, какие языки знают все школьники и языки, которые знает хотя бы один из школьников
Здравствуйте. Помогите пожалуйста решить задачу: Каждый из N школьников некоторой школы знает Mi языков. Определите, какие языки знают...

Интерпретируемые языки VS Компилируемые языки
Я лично не смог вспомнить чем хоть один из них, лучше другого :) Хотя возможно скоростью

33
Модератор
Эксперт функциональных языков программирования
3132 / 2279 / 469
Регистрация: 26.03.2015
Сообщений: 8,870
08.03.2023, 13:15
C#

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
using System;
                    
double Funx(double x)
{
    var rad = x * Math.PI / 180;
    var a = Math.Pow (x,1/4);
    var b = Math.Sqrt(x);  
    var c = Math.Cos(rad); 
    var d = Math.Log10(x); 
    var e = Math.Exp(b);
    var f = Math.Log10(b) * Math.Log(e);
    return a + b + c + d + e + f;
}
 
double x = 90;
Console.WriteLine($"{x} {Funx(x)}");
Так как на rextester.com компилятор только для старой версии C#, то запускать нужно где-нибудь в другом месте.
0
 Аватар для DAV78
5 / 5 / 0
Регистрация: 01.09.2018
Сообщений: 87
08.03.2023, 14:24  [ТС]
Все видим: у меня ссылки на онлайн компилятор готовые

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

Чую милли алгоритмы на 5 языках одновременно
в данной теме будут только мои учебные

QBasic/QuickBASIC
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
x = 90 ' funb.bas
y = funb(x)
PRINT x, y
END
 
FUNCTION funb (x)
    rad = x * pi() / 180
    a = x ^ (1 / 4)
    b = SQR(x) ': Print b
    c = COS(rad): PRINT c
    d = LOG(x) ': Print d
    e = EXP(b)
    f = LOG(b) * LOG(e)
 
    funb = a + b + c + d + e + f
END FUNCTION
0
 Аватар для vantfiles
1018 / 1913 / 177
Регистрация: 07.05.2013
Сообщений: 3,931
Записей в блоге: 12
08.03.2023, 15:01
Code
1
2
3
4
-- forth
context double
: Funx >f f@ pi 180 */ cos f@ 1 4 / pow f@ log10 f@ sqrt dup exp swap log10 swap log * 5 f+ f> drop ;
90 dup . Funx .
0
Модератор
Эксперт функциональных языков программирования
3132 / 2279 / 469
Регистрация: 26.03.2015
Сообщений: 8,870
08.03.2023, 16:36
Цитата Сообщение от DAV78 Посмотреть сообщение
Что же помешало собеседнику разместить ссылку готовую
на другой онлайн компилятор?
Необходимость регистрации для сохранения запроса.
0
 Аватар для DAV78
5 / 5 / 0
Регистрация: 01.09.2018
Сообщений: 87
14.03.2023, 22:22  [ТС]
JavaScript JS функции

https://jdoodle.com/h/2Uj

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function funj(x) 
{   rad = x * Math.PI / 180
    a = Math.pow(x, 1/4)
    b = Math.sqrt(x);  // document.write(b)
    c = Math.cos(rad);    document.write(c)
    d = Math.log10(x); // document.write(d)
    e = Math.exp(b)
    f = Math.log10(b) * Math.log(e)
    funj = a + b + c + d + e + f
    return funj
}
 
x = 90 
document.write(x + "\t")
document.write("\n" + funj(x))
Далее рассмотрим одинаковые алгоритмы про массивы
0
 Аватар для DAV78
5 / 5 / 0
Регистрация: 01.09.2018
Сообщений: 87
21.03.2023, 09:09  [ТС]
Программа PRIME_mult.cpp распознаёт простые числа
введённые или случайные либо вычисляет множители

Случайные до миллиарда 10^9 задаёт моя краткая уникальная формула
for (i=0;i<9;i++) p=p+pow(10.,i)*(rand()%9);
на форумах нигде не встреченная

Значит алгоритм изучает случайные и простые числа

Все алгоритмы должны проверяться онлайн
https://rextester.com/YDXE69472
https://jdoodle.com/a/61FC

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>  // PRIME_mult.cpp DANILIN
#include <cmath> // rextester.com/YDXE69472
using namespace std; int main() // jdoodle.com/a/61FC
{ setlocale (LC_ALL, "RUS"); srand(time(NULL));
  int i; int f=0,j=2,q=0; double p,s; p=0; // long p = 2147483648-1;
 
  for (i=0;i<6;i++) p=p+pow(10., i)*(rand()%9); 
 
  s = int (pow(p, 0.5));
  cout << int(p) <<" "<< s << endl;
while (f < 1)
{ if (j >= s) { f=2; }
  if (int (p) % int (j) == 0) 
  { q=1; cout << int(p) <<" "<<j<<" "<< int(p/j) <<endl;}
  j++;
}
if (q != 1) { cout <<"Prime "<< p << endl; }
system("pause");
}
Code
1
2
3
4
5
6
7
8
9
311308 557
311308 2 155654
311308 4 77827
311308 223 1396
311308 349 892
311308 446 698
 
622067 788
Prime 622067
0
 Аватар для DAV78
5 / 5 / 0
Регистрация: 01.09.2018
Сообщений: 87
28.03.2023, 07:08  [ТС]
Программа PRIME_mult.htm и внутри JavaScript распознаёт простые числа
введённые или случайные либо вычисляет множители

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>PRIME js JavaScript</title> 
<html> <body> <noscript>Vkluch JS</noscript>
 
https://jdoodle.com/h/2UZ
 
<script>
 
var f = 0, j=2, q=0 // p = 2147483648-1;
var p = parseInt(Math.random()*Math.pow(2,22)) -1 // 1234566674; 
var s = parseInt(Math.pow(p, 0.5))
 
document.write( "<br>"+ p +" "+ s +"<br>" )
 
while (f < 1)
{ if (j >= s) { f=2 } 
  if ( p % j == 0 ) 
  { q=1; document.write(p+" _ "+j+" _ "+ p/j +"<br>") }
  j++
}
 
if (q != 1) { document.write("Prime "+ p + "<br>") }
 
</script>
 
</body> </html>
Все алгоритмы должны проверяться онлайн

https://jdoodle.com/h/2UZ

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

</script>
<script>
document.write("<br>=5<br>")


и сразу видно какой блок работает
0
Модератор
Эксперт функциональных языков программирования
3132 / 2279 / 469
Регистрация: 26.03.2015
Сообщений: 8,870
28.03.2023, 13:22
Цитата Сообщение от DAV78 Посмотреть сообщение
Случайные до миллиарда 10^9 задаёт моя краткая уникальная формула
for (i=0;i<9;i++) p=p+pow(10.,i)*(rand()%9);
Зачем цифру "9" забанили?
1
 Аватар для vantfiles
1018 / 1913 / 177
Регистрация: 07.05.2013
Сообщений: 3,931
Записей в блоге: 12
29.03.2023, 12:04
Цитата Сообщение от DAV78 Посмотреть сообщение
rand()
Уникальная, угу.
0
Модератор
Эксперт функциональных языков программирования
3132 / 2279 / 469
Регистрация: 26.03.2015
Сообщений: 8,870
30.03.2023, 01:16
Цитата Сообщение от vantfiles Посмотреть сообщение
Уникальная, угу.
"уникальность" в том, что вместо того, чтобы взять одно случайное число "rand() % 1000000000", берется 9 случайных чисел. То есть, всё то же самое, но в 9 раз медленней.

з.ы. Правда, из-за ошибки получается не то же самое, а случайное число без девяток.
0
 Аватар для vantfiles
1018 / 1913 / 177
Регистрация: 07.05.2013
Сообщений: 3,931
Записей в блоге: 12
30.03.2023, 10:01
Shamil1, да меня просто поражают некоторые... Люди разрабатывают, бьются:
https://en.wikipedia.org/wiki/... generators

И тут такое:
Цитата Сообщение от DAV78 Посмотреть сообщение
моя краткая уникальная формула
Мне кстати алгоритм Митчелла-Мура нравится - и просто, и быстро, и достаточно надежно.
И Вихрь Мерсенна - тоже классная штука.
0
 Аватар для DAV78
5 / 5 / 0
Регистрация: 01.09.2018
Сообщений: 87
04.04.2023, 09:09  [ТС]
Программа C# PRIME_mult.cs распознаёт простые числа
введённые или случайные либо вычисляет множители

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
using System; using System.Text; // PRIME_mult.cs 
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); }
Console.WriteLine(DateTime.Now - start);
Console.ReadKey();
}}}
https://rextester.com/VBXFL2777

Prime 2192299
00:00:00.0300217

Программа C# также вычисляет время работы
0
 Аватар для DAV78
5 / 5 / 0
Регистрация: 01.09.2018
Сообщений: 87
11.04.2023, 12:12  [ТС]
Программа Python PRIME_mult.py распознаёт простые числа
введённые или случайные либо вычисляет множители

Python
1
2
3
4
5
6
7
8
9
10
11
12
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:                # 
    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")
Результат:
11182907 Prime 0.011182907 BillionS

https://rextester.com/QFZD94890
0
 Аватар для DAV78
5 / 5 / 0
Регистрация: 01.09.2018
Сообщений: 87
18.04.2023, 11:12  [ТС]
qbasic qb64 простые числа

QBasic/QuickBASIC
1
2
3
4
5
6
7
8
9
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
0
WH
1588 / 816 / 192
Регистрация: 10.09.2013
Сообщений: 3,261
Записей в блоге: 3
18.04.2023, 16:55
Формирование простых чисел решетом Эратосфена. Найдем числа из первой сотни.

Fortran
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
program eratosfen
implicit none
integer :: a(2:100), j, n = 2
 
forall (j=2:100) a(j) = j
 
    do while (n*n < 100)
       forall (j = n*n : 100 : n) a(j) = 0
       n = n + 1
          do while (a(n)==0)
             n = n + 1
          end do
    end do
 
  n = count (a/=0); n = n + 1
  a(2:n) = pack (a, a/=0)
 
print '(10i5)', a(2:n)
end program eratosfen
rextester просит регистрацию для сохранения, поэтому не стал. Для запуска можно сделать "копировать-вставить".
0
 Аватар для DAV78
5 / 5 / 0
Регистрация: 01.09.2018
Сообщений: 87
25.04.2023, 11:11  [ТС]
Онлайн компиляторы rextester & jdoodle
входят через google профиль

Простые qbasic https://jdoodle.com/a/696G

Eratosfen Fortran https://jdoodle.com/a/68X8
0
WH
1588 / 816 / 192
Регистрация: 10.09.2013
Сообщений: 3,261
Записей в блоге: 3
26.04.2023, 16:52
В чем фикус? В примерах вычисления функций С# дает ответ 13206.6829321133, python 13203.993025926646, а JS 13208.763002401542.
0
 Аватар для DAV78
5 / 5 / 0
Регистрация: 01.09.2018
Сообщений: 87
02.05.2023, 15:15  [ТС]
Алгоритм угадывает число из миллиарда 10^9
за количество ходов логарифмическое =log(10^9;2)=30

C++ Milliard

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream> // milliardc.cpp
using namespace std;
int main() // rextester.com/QZEGM92902
{ srand(time(NULL)); // jdoodle.com/a/6bQN
int h2=1000000000, h1=0, f=0, t=0, a=0;
int comp = rand() % h2;
int human = rand() % h2;
while (f<1)
{ cout<<endl<<t<<" "<<comp<<" "<<human;
if(comp < human)
{ cout << " MORE";
a=comp; comp=(comp+h2)/2; h1=a;}
else if(comp > human)
{ cout << " less";
a=comp; comp=(h1+comp)/2; h2=a;}
else { cout <<" win by "<<t<<" steps "; f=1;}
t++; }system("pause");}
Типичный отчёт:

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
0 777376580 913462933 MORE
1 888688290 913462933 MORE
2 944344145 913462933 less
3 916516217 913462933 less
4 902602253 913462933 MORE
5 909559235 913462933 MORE
6 913037726 913462933 MORE
7 914776971 913462933 less
8 913907348 913462933 less
9 913472537 913462933 less
10 913255131 913462933 MORE
11 913363834 913462933 MORE
12 913418185 913462933 MORE
13 913445361 913462933 MORE
14 913458949 913462933 MORE
15 913465743 913462933 less
16 913462346 913462933 MORE
17 913464044 913462933 less
18 913463195 913462933 less
19 913462770 913462933 MORE
20 913462982 913462933 less
21 913462876 913462933 MORE
22 913462929 913462933 MORE
23 913462955 913462933 less
24 913462942 913462933 less
25 913462935 913462933 less
26 913462932 913462933 MORE
27 913462933 913462933 win by 27 steps
https://rextester.com/QZEGM92902

https://jdoodle.com/a/6bQN
0
 Аватар для vantfiles
1018 / 1913 / 177
Регистрация: 07.05.2013
Сообщений: 3,931
Записей в блоге: 12
02.05.2023, 15:39
Двоичный поиск. Охохонюшки.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.05.2023, 15:39
Помогаю со студенческими работами здесь

Реализовать алгоритмы построения прямой: простой пошаговый алгоритм и алгоритмы Брезенхема
1. Написать на языке PASCAL программу, реализующую алгоритмы построения прямой: простой пошаговый алгоритм и алгоритмы Брезенхема для...

Комбинаторные алгоритмы и алгоритмы на графы. Можно ли разделить элементы данного массива на 2 подмассива с одинаковой суммой элементов
Дан одномерный массив натуральных чисел выясните , можно ли разделить элементы данного массива на 2 подмассива с одинаковой суммой...

Линейные алгоритмы, разветвленные алгоритмы, простые циклы
Помогите сделать простые (для вас, но не для меня :-() лабораторные, скоро сессия, а разобраться совершенно не могу. 1. Дан радиус...

Циклические алгоритмы. Алгоритмы обработки последовательностей чисел
Помогите пожалуйста program Lab_3_1; const x1=1; xn=3; dx=0.2; a=3.9; b=2.3; var x,y,z:real; ...

Циклические алгоритмы. Алгоритмы обработки последовательностей чисел
Помогите пожалуйста... Преподаватель говорит что: 1. Программа считает правильно (за исключением того, что по условию диапазон...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru