• اگر سمپادی هستی همین الان عضو شو :
    ثبت نام عضویت

برنامه‌های ریاضیاتی

  • شروع کننده موضوع
  • #1

Taha_IDLE

کاربر فعال
ارسال‌ها
22
امتیاز
8
نام مرکز سمپاد
دبیرستان دوره اول علامه حلی 1 تهران
شهر
تهران
سال فارغ التحصیلی
1405
سلام دوستان
اینجا رو زدم تا یسری برنامه هایی بنویسیم که بتونیم باهاش مسائل ریاضی رو انجام بدیم(مثل فاکتوریل و الگوی فیبوناچی و...) من خودم چند تا از این ها رو اینجا می زارم.
 

MRΣZA

کاربر حرفه‌ای
کنکوری 1403
ارسال‌ها
345
امتیاز
4,043
نام مرکز سمپاد
شهید بهشتی
شهر
ابهر
سال فارغ التحصیلی
1403
سلام، چجوری کد رو اینجا بنویسم ؟ < و > و ؛ جا به جا میشن :/
 

ememlia

⁦(⊙_◎)⁩
عضو مدیران انجمن
ارسال‌ها
856
امتیاز
19,971
نام مرکز سمپاد
شهید بهشتی
شهر
.
سال فارغ التحصیلی
1397

MRΣZA

کاربر حرفه‌ای
کنکوری 1403
ارسال‌ها
345
امتیاز
4,043
نام مرکز سمپاد
شهید بهشتی
شهر
ابهر
سال فارغ التحصیلی
1403
C++:
#include <iostream>
#include <conio.h>

using namespace std;

int main()
{
    int p;
    int i;
    int flag;
    cout << "Enter p :";
    cin >> p;
    cout << "Is " << p << " a prime number ?"<<endl;
    flag = 0;
    for (i =2 ; i < p; i++)
    {
        if (p % i == 0)
            flag = 1;
    }
    if (flag == 0)
        cout << "Yes";
    else
        cout << "No";
    int getch();
}


خب این یه کد ساده هستش و یه عدد ورودی می گیره و میگه که اول هستش یا نه (کد فیبوناچی هم داشتم، پیداش می کنم)
 
  • شروع کننده موضوع
  • #5

Taha_IDLE

کاربر فعال
ارسال‌ها
22
امتیاز
8
نام مرکز سمپاد
دبیرستان دوره اول علامه حلی 1 تهران
شهر
تهران
سال فارغ التحصیلی
1405
C++:
#include <iostream>
#include <conio.h>

using namespace std;

int main()
{
    int p;
    int i;
    int flag;
    cout << "Enter p :";
    cin >> p;
    cout << "Is " << p << " a prime number ?"<<endl;
    flag = 0;
    for (i =2 ; i < p; i++)
    {
        if (p % i == 0)
            flag = 1;
    }
    if (flag == 0)
        cout << "Yes";
    else
        cout << "No";
    int getch();
}


خب این یه کد ساده هستش و یه عدد ورودی می گیره و میگه که اول هستش یا نه (کد فیبوناچی هم داشتم، پیداش می کنم)
سید این ساده شما چه زبونیه؟ تو 5 یا 6 خط با پایتون نوشتمش :|
 

ememlia

⁦(⊙_◎)⁩
عضو مدیران انجمن
ارسال‌ها
856
امتیاز
19,971
نام مرکز سمپاد
شهید بهشتی
شهر
.
سال فارغ التحصیلی
1397
  • شروع کننده موضوع
  • #7

Taha_IDLE

کاربر فعال
ارسال‌ها
22
امتیاز
8
نام مرکز سمپاد
دبیرستان دوره اول علامه حلی 1 تهران
شهر
تهران
سال فارغ التحصیلی
1405

dorincii

ز هـمـه خـلـق رمـیـده
ارسال‌ها
328
امتیاز
14,229
نام مرکز سمپاد
فرزانگان 1
شهر
بَلْدَةً مَیْتاً
سال فارغ التحصیلی
1404
Python:
def fibonacci (n):
    if n == 0:
        return 0
    elif n == 1:
        return 1
    else:
        return fibonacci (n-1)+ fibonacci (n-2)
بدون تابع بازگشتی هم میشه نوشت، ولی با تابع بازگشتی ساده تر و کوتاه تره.
 

MRΣZA

کاربر حرفه‌ای
کنکوری 1403
ارسال‌ها
345
امتیاز
4,043
نام مرکز سمپاد
شهید بهشتی
شهر
ابهر
سال فارغ التحصیلی
1403
سلام خدمت همگی، اینم یه کد ++C هستش که بعنوان ورودی هر چند تا عدد که خواستید با هر مقداری بهش می دید و میانگین اونا بعنوان خروجی داده میشه (لازمه که بعد از آخرین عدد، یه عدد کمتر مساوی صفر وارد کنید)
C++:
#include <iostream>
#include <conio.h>
#include <math.h>
using namespace std;
int main()
{
    int i = 0;
    int n;
    int sum = 0;
    cout << "Enter 0 or a negative number at the end ." << endl;
    cout << "Enter n(s): " << endl;

    for (; ; )
    {
        cin >> n;
        if (n <= 0)
            break;
        i++;
        sum += n;
    }
    cout << "Average :" << (float)sum / i;
}
int getch();
 

MRΣZA

کاربر حرفه‌ای
کنکوری 1403
ارسال‌ها
345
امتیاز
4,043
نام مرکز سمپاد
شهید بهشتی
شهر
ابهر
سال فارغ التحصیلی
1403
این کد سی پلاس پلاس هم فاکتوریل عدد ورودی رو در خروجی میده.

C++:
#include <iostream>
#include <conio.h>
#include <math.h>
using namespace std;
int main()
{

    int i, n, fact = 1;
    cout << "enter n:";
    cin >> n;

    for (i = 1; i <= n; i++)
        fact *= i;
    cout <<n<< " factorial:" << fact;
}
int getch();
 

Smohammadreza

کاربر فوق‌حرفه‌ای
ارسال‌ها
885
امتیاز
9,898
نام مرکز سمپاد
حلی یک
شهر
تهران
سال فارغ التحصیلی
0
مدال المپیاد
نقره فیزیک
سلام
کسی میتونه برنامه ای بنویسه که توزیع اعداد اول رو نشون بده؟
مثلا تو هر رنجی چند درصد اعداد اول هستن
بعد نمودار "درصد اعداد اول" بر حسب اون رنج (مثلا 0 تا x) رو رسم کنه
 

ememlia

⁦(⊙_◎)⁩
عضو مدیران انجمن
ارسال‌ها
856
امتیاز
19,971
نام مرکز سمپاد
شهید بهشتی
شهر
.
سال فارغ التحصیلی
1397
سلام
کسی میتونه برنامه ای بنویسه که توزیع اعداد اول رو نشون بده؟
مثلا تو هر رنجی چند درصد اعداد اول هستن
بعد نمودار "درصد اعداد اول" بر حسب اون رنج (مثلا 0 تا x) رو رسم کنه
سلام:)
من دوتا نمودار کشیدم حالا خودت میتونی مادیفایش کنی
Python:
import matplotlib.pyplot as plt


def isPrime(n):
    if (n <= 1):
        return False
    if (n <= 3):
        return True
    if (n % 2 == 0 or n % 3 == 0):
        return False
    i = 5
    while (i * i <= n):
        if (n % i == 0 or n % (i + 2) == 0) :
            return False
        i = i + 6
    return True

def showPiePlot(prime, all):
    labels = 'Prime', 'Composite'
    sizes = [float(prime)/all*100, float(all-prime)/all*100]
    explode = (0, 0.1)

    fig1, ax1 = plt.subplots()
    ax1.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%',
            shadow=True, startangle=90)
    ax1.axis('equal')

    plt.show()

def showBarPlot(prime_count, inp):
    data = {'Prime':prime_count, 'Composite':inp-prime_count}
    x = list(data.keys())
    y = list(data.values())
    
    fig = plt.figure(figsize = (10, 5))
    
    # creating the bar plot
    plt.bar(x, y, color ='maroon',
            width = 0.4)
    
    plt.xlabel("Type")
    plt.ylabel("Count")
    plt.show()

inp = int(input("max num: "))
prime_list = []

for i in range(0, inp):
    if isPrime(i+1):
        prime_list.append(i+1)

prime_count = len(prime_list)
showPiePlot(prime_count, inp)
showBarPlot(prime_count, inp)



فقط اینکه عدد ۱ رو هم جز اعداد composite! حساب کردم که اشتباهه:)‌‌)‌
 

Amirhsz

کاربر فوق‌فعال
ارسال‌ها
84
امتیاز
112
نام مرکز سمپاد
علامه حلی 1
شهر
تهران
سال فارغ التحصیلی
1404
مدال المپیاد
ندونی جالب تره 😈
سلام
برنامه ای که نوشتم چند تا عدد رو از ورودی میگیره بعد میپرسه چندمین عدد الگو رو میخای و بدستش میاره. این روشا رو شنیده بودم اسمش روش اویلره. خودم زیاد اینکه چجور اثبات میشه رو نمیدونم ولی طرز کارش سادس: (فکر کنم طرز کارش اینه که اگه دقت کنین میبین واسه جملاتی که خودتون دادین جواب درست رو برمیگردونه ولی حالا نمیدونم چجو اثبات میشه برای اعداد بعد هم درسته. البته تقریبی هست مثلا اگه درجه چند جمله ای عمومیش ۷ باشه و شما ۵ بدید ۵ تا از نقاط بر هم منطبقن حالا ممکنه اون ۲ تای دیگه منطبق بشن یا نشن.)
(n-2)×(n-3)×(n-4)×(n-5)×(عدد اول الگو÷جاگذاری برای n=1 در جملات بالا)+(n-1)×(n-3)×(n-4)×(n-5)×(عدد دوم الگو÷ جایگذاری با جمله بالاn=2)+(n-1)×(n-2)×(n-4)×(n-5)×(عدد سوم الگو÷جایگذاری جمله بالا به ازای n=3) + ...
اگه کسی میتونه کمک کنه جمله n ام رو بزاریم توو الگوریتم زیر(الگوریتم من جای n چندمین عددی رو که میخواید رو میزاره).
یا اینکه بگه چرا جملات بالا درست درمیان تقریبا(اثبات ریاضیش):
Python:
#####################################################
#                   Inputs                          #
#####################################################
n=[]
while True:
    i = int(input("Adad olgo ro vared konin: "))
    if i!=0 :
        n.append(i)
    else :
        break
i = len(n)
k = int(input("Chandomin addad olgo ro mikhain??: "))
#####################################################
#                   Main thread                     #
#####################################################

# p = addady ke ja gozari mishe , r = addadi ke az kam kardnsh dori miknim , i = tedad jomalt
def mksent(p,r,i=i):
    res = 1
    for x in range (1,i+1):
        if x==r :
            continue
        res *= (p-x)
    return res

res = 0
for x in range (1,i+1):
    res += (mksent(k,x)*n[x-1]/mksent(x,x))
#####################################################
#                   End of Programm                 #
#####################################################
print(res)
 
بالا