Форум программистов, компьютерный форум, киберфорум
Алгоритмы
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
-190 / 1 / 0
Регистрация: 01.09.2018
Сообщений: 66
1

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

07.03.2023, 01:00. Показов 2136. Ответов 24

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

В данной теме размещаем простые алгоритмы на 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.03.2023, 01:00
Ответы с готовыми решениями:

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

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

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

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

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

24
Модератор
Эксперт функциональных языков программирования
3059 / 2205 / 459
Регистрация: 26.03.2015
Сообщений: 8,488
08.03.2023, 13:15 2
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
-190 / 1 / 0
Регистрация: 01.09.2018
Сообщений: 66
08.03.2023, 14:24  [ТС] 3
Все видим: у меня ссылки на онлайн компилятор готовые

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

Чую милли алгоритмы на 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
1004 / 1859 / 176
Регистрация: 07.05.2013
Сообщений: 3,903
Записей в блоге: 12
08.03.2023, 15:01 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
Модератор
Эксперт функциональных языков программирования
3059 / 2205 / 459
Регистрация: 26.03.2015
Сообщений: 8,488
08.03.2023, 16:36 5
Цитата Сообщение от DAV78 Посмотреть сообщение
Что же помешало собеседнику разместить ссылку готовую
на другой онлайн компилятор?
Необходимость регистрации для сохранения запроса.
0
-190 / 1 / 0
Регистрация: 01.09.2018
Сообщений: 66
14.03.2023, 22:22  [ТС] 6
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
-190 / 1 / 0
Регистрация: 01.09.2018
Сообщений: 66
21.03.2023, 09:09  [ТС] 7
Программа 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");
}
Код
311308 557
311308 2 155654
311308 4 77827
311308 223 1396
311308 349 892
311308 446 698

622067 788
Prime 622067
0
-190 / 1 / 0
Регистрация: 01.09.2018
Сообщений: 66
28.03.2023, 07:08  [ТС] 8
Программа 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
Модератор
Эксперт функциональных языков программирования
3059 / 2205 / 459
Регистрация: 26.03.2015
Сообщений: 8,488
28.03.2023, 13:22 9
Цитата Сообщение от DAV78 Посмотреть сообщение
Случайные до миллиарда 10^9 задаёт моя краткая уникальная формула
for (i=0;i<9;i++) p=p+pow(10.,i)*(rand()%9);
Зачем цифру "9" забанили?
1
1004 / 1859 / 176
Регистрация: 07.05.2013
Сообщений: 3,903
Записей в блоге: 12
29.03.2023, 12:04 10
Цитата Сообщение от DAV78 Посмотреть сообщение
rand()
Уникальная, угу.
0
Модератор
Эксперт функциональных языков программирования
3059 / 2205 / 459
Регистрация: 26.03.2015
Сообщений: 8,488
30.03.2023, 01:16 11
Цитата Сообщение от vantfiles Посмотреть сообщение
Уникальная, угу.
"уникальность" в том, что вместо того, чтобы взять одно случайное число "rand() % 1000000000", берется 9 случайных чисел. То есть, всё то же самое, но в 9 раз медленней.

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

И тут такое:
Цитата Сообщение от DAV78 Посмотреть сообщение
моя краткая уникальная формула
Мне кстати алгоритм Митчелла-Мура нравится - и просто, и быстро, и достаточно надежно.
И Вихрь Мерсенна - тоже классная штука.
0
-190 / 1 / 0
Регистрация: 01.09.2018
Сообщений: 66
04.04.2023, 09:09  [ТС] 13
Программа 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
-190 / 1 / 0
Регистрация: 01.09.2018
Сообщений: 66
11.04.2023, 12:12  [ТС] 14
Программа 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
-190 / 1 / 0
Регистрация: 01.09.2018
Сообщений: 66
18.04.2023, 11:12  [ТС] 15
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
1578 / 808 / 189
Регистрация: 10.09.2013
Сообщений: 3,203
Записей в блоге: 3
18.04.2023, 16:55 16
Формирование простых чисел решетом Эратосфена. Найдем числа из первой сотни.

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
-190 / 1 / 0
Регистрация: 01.09.2018
Сообщений: 66
25.04.2023, 11:11  [ТС] 17
Онлайн компиляторы rextester & jdoodle
входят через google профиль

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

Eratosfen Fortran https://jdoodle.com/a/68X8
0
WH
1578 / 808 / 189
Регистрация: 10.09.2013
Сообщений: 3,203
Записей в блоге: 3
26.04.2023, 16:52 18
В чем фикус? В примерах вычисления функций С# дает ответ 13206.6829321133, python 13203.993025926646, а JS 13208.763002401542.
0
-190 / 1 / 0
Регистрация: 01.09.2018
Сообщений: 66
02.05.2023, 15:15  [ТС] 19
Алгоритм угадывает число из миллиарда 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");}
Типичный отчёт:

Код
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
1004 / 1859 / 176
Регистрация: 07.05.2013
Сообщений: 3,903
Записей в блоге: 12
02.05.2023, 15:39 20
Двоичный поиск. Охохонюшки.
0
02.05.2023, 15:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.05.2023, 15:39
Помогаю со студенческими работами здесь

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

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

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

Фундаментальные алгоритмы. Алгоритмы поиска и выборки.
Дано натуральное число n. Найти (2n)! и 2n!. Использовать рекурсивную функцию вычисления факториала...

Комбинаторные алгоритмы и алгоритмы на гра-фах
Разработайте программу нахождения основного дерева в графе методом поиска в ширину.

Основные комбинаторные алгоритмы и алгоритмы на графах
Виктор готовится к празднованию Нового года. Он должен поздравить бабушку, тетю и двух друзей. Но...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru