Peducate.ir

Peducate.ir

با هم بیاموزیم
Peducate.ir

Peducate.ir

با هم بیاموزیم

برنامه تعیین اعداد اول در متلب

برنامه تعیین اعداد اول در متلب

در نرم افزار متلب (Matlab)، میخواهیم برنامه ای نوشته تا عددی را از کاربر دریافت و اعداد اول کوچکتر از آن را نشان دهد.

 

 

clear;clc;

N=input('Enter Number:');

fprintf('%d %d',2,3);

tt=5;

while tt<N

for kk=2:tt-1

if rem(tt,kk)==0

break

end

if kk==fix(sqrt(tt))

fprintf(' %d',tt);

break

end

end

tt=tt+2;

end

در خط اول تمام حافظه متلب (Matlab) با دستور clear و محیط خط فرمان با دستور clc پاک می شود. در خط دوم با دستور input عدد از کاربر دریافت می شود. خط سوم اعداد 2و3 را که اول هستند مستقیم و توسط دستور fprintf چاپ می کند برای همین در خط چهارم از عدد 5 برنامه شروع به بررسی تقسیم پذیری می کند.

در خط پنجم، حلقه while تا زمانی که اعداد بررسی شونده tt به عدد دریافتی از کاربر نرسد ادامه می یابد. در خط ششم حلقه for آغاز می شود و در خط هفتم تقسیم پذیری با دستور rem بررسی می شود. در این خط دستور rem باقی مانده تقسیم را می یابد و با دستور if اگر باقی مانده عدد صفر باشد یعنی دو عدد بر هم بخش پذیر بوده و عددی که در حال بررسی است اول نبوده و با دستور break از این بخش خارج می شود.

تا خط دهم بررسی اعداد ادامه می یابد. اگر عدد kk تا ریشه دوم عدد tt بالا بیاید و مقسوم علیه آن نباشد عدد اول است (دستور fix اعداد را گرد می کند) و توسط دستور fprintf خط یازدهم چاپ می شود. البته از مبحث ریاضیات می دانیم که بخواهیم اول بودن عدد x را بررسی کنیم، کافی است بخش پذیری از عدد دو تا ریشه عدد x بررسی شود.

نظرات 4 + ارسال نظر
علیرضا یکشنبه 23 آذر 1399 ساعت 12:54 ب.ظ

عالی و کاربردی خسته نباشید

Neda یکشنبه 24 فروردین 1399 ساعت 06:36 ب.ظ

برا پیدا کردن اعداد اول بینa و b چیکار کنم؟
ممنون

سلام دوست عزیز
یکی از ساده ترین روشها، ایتفاده از حلقه (for) است.

Sepideh دوشنبه 20 خرداد 1398 ساعت 06:34 ب.ظ

خیلی خوب بود مرررسی

سلام
خواهش میکنم
موفق باشید

سید علی دوشنبه 8 آبان 1396 ساعت 12:08 ب.ظ

اگر بخواهیم تعدادشونو نشون بده باید چیکار کنیم؟

با سلام
کافی است از شمارنده در خط یازدهم (بعد از دستور fprintf) استفاده شود. برای این کار ابتدا بعد از خط سوم متغیری با نام دلخواه مثلا counter تعریف می کنیم و مقدار اولیه آن را برابر 2 در نظر میگیریم (چون برنامه به گونه ای نوشته شده است که اعداد 2 و 3 که اول هستند را مستقیم چاپ می کند):
counter=2
حال بعد از خط یازدهم (بعد از دستور fprintf) از کد زیر را اضافه کنید (هرگاه عدد اول جدیدی پیدا کرد یکی به شمارنده اضافه کند):
counter=counter+1
با این تغییرات و پس از پایان اجرای کامل برنامه، مقدار متغیر counter تعداد عدد اول را نشان می دهد.

ایمیل شما بعد از ثبت نمایش داده نخواهد شد