PDA

View Full Version : سوال: عدد اول



RahimiAdel
چهارشنبه 01 اردیبهشت 1389, 12:31 عصر
برنامه ی که یک عدد از ورودی خوانده مشخص کند آن عدد اول است یااول نیست؟
دوستان اینو خودم نوشتم نگاه کنید درسته یا نه


#include<conio.h>
#include<math.h>
#include<stdio.h>
void main()
{
int a,primenumber=n,R;
R=a%n
if(R==0)
printf("zero");
els
print("one");
{

این برنامه دومه که نوشتم


#include<math.h>
#include<stdio.h>
void main()
{
int x,y,R;
x=7
scanf(%d,y);
R=x%y
if(R==0)
printf("prime number");
els
print("morkb number");
}

RahimiAdel
چهارشنبه 01 اردیبهشت 1389, 14:50 عصر
راستی دوستان عزیز من برنامه که می نویسم رو وقتی وارد قسمت سوال می کنم تغییر پیدا می کنه علتش چیه:متفکر:

developing
یک شنبه 05 اردیبهشت 1389, 15:02 عصر
با سلام.
نه خیر عزیز دلم.
این برنامه ای که شما نوشتید فقط مقایسه اش رو با عدد 7 انجام می ده.
برای پیدا کردن اینکه یک عدد اول هست یا نه باید به تمام اعداد کوچکتر از خودش (از 2 تا n ) تقسیم کنیم اگر حتی به یکی از آنها بخش پذیر باشد عدد اول نیست در غیر اینصورت عدد اول هست.
البته یک راه کوچکتری هم هست اینکه اعداد رو از 2 تا نصف عدد (یعنی n/2 ).
و از این کوچکتر از 2 تا رادیکال n.

که باید این رو توی یک حلقه ی for بنویسی مثل برنامه ی زیر.
(چرا نوشتم مثل برنامه ی زیر؟ چون من معتقدم برای هر سوالی می شه به تعداد دلخواه برنامه نوشت.)

#include<conio.h>
#include<stdio.h>
int main()
{
int n, a = 0;
printf("Please enter your number\n");
scanf("%d", &n);
for(int i = 2; i < n/2; i ++)
if (n % i == 0)
{
a = 1;
break;
}
if(a == 0)
printf("%8d is PRIME", n);
else
printf("%8d isn't PRIME", n);
getch();
return 0;
}البته که این روش برنامه نویسی من هست و ممکنه که افراد دیگر طوری دیگر برنامه رو بنویسن که این به سلیقه، نوع سیستم، مقدار حافظه ای که قرار است اشغال شود، مقدار زمانی که از CPU گرفته شود و ... بستگی دارد.

در ضمن دوست غزیز اگر شما کدهای خود را بین تگ [code] که در قسمت بالا با علامت <> آبی رنگ مشخص است بنویسید دیگر این اتفاق برای کدهای شما نخواهد افتاد.

RahimiAdel
دوشنبه 06 اردیبهشت 1389, 14:48 عصر
سلام
ممنون دوست عزیز از راهنمای مفیدت:بوس: