سأزودك بأفكاري لدالة اختبار اولية العدد (تعتمد على تكرار القسمة) ولكن بشكل محسن
الفحص راح يكون لعند جذر العدد المطلوب فحصه، وحتى ما يدخل في حلقة الفحص تأكد من قابلية القسمة على 2 و 3 و 5 و 7
وخلي العداد يبدأ من 3 والزيادة ب 2
سأزودك بأفكاري لدالة اختبار اولية العدد (تعتمد على تكرار القسمة) ولكن بشكل محسن
الفحص راح يكون لعند جذر العدد المطلوب فحصه، وحتى ما يدخل في حلقة الفحص تأكد من قابلية القسمة على 2 و 3 و 5 و 7
وخلي العداد يبدأ من 3 والزيادة ب 2
اخي انا لا اعرف شيئا عن الباثيون ولكن كتبت الكود الخاص بالتحقق من اولية العدد بلغة السي ++ (ارجو ان تتقبل مني)
فساضعه لك بالسي++
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
int num;
int sq;
bool isPrime = false;
cout << "Enter positve integer number: ";
cin >> num;
sq = sqrt(static_cast<float>(num));
if (num == 2 || num == 3 || num == 5 || num == 7)
isPrime = true;
else if (num % 2 == 0)
isPrime = false;
else
{
for (int i = 3; i <= sq; i += 2)
{
if(num % i == 0)
{
isPrime = false;
break;
}
else
isPrime = true;
}
}
if(isPrime)
cout << num << " is prime number.";
else
cout << num << " is not prime number.";
getch();
return 0;
}ادخل على هذا الموضوع ، يوجد فيه ثلاث طرق للتأكد من اولية العدد (على ما اظن الطريقة الاولى تشبه طريقتي)
http://www.wikihow.com/Check-if-a-Number-Is-Prime
بالتوفيق
شيئ جميل يا شباب هناك عدة طرائق لمعرفة إن كان العدد أوليا أم لا لكن هذا ليس موضوعنا
يكفي التحقق من ذلك بالقسمة لأن هذه الطريقة معروفة عند الجميع.
اقتباسdef TestPrimality(m): Newm = m - 1 a = 2 calcuD = a ** Newm Result = calcuD % m if Result == 1: return "Your number is Primary" else: return "your number is not Primary"
يبدو أن برنامج الأخ عامر الشابي يأدي المطلوب كما أنه بسيط ،لكن أجريت تعديل بسيط عليه ليوافق المعطيات
كما قلت الدوال بها مدخلين المدخل الأول هو العدد و المدخل الثاني هو عدد الخانات
لكن دالة الأعداد الأولية تقبل مدخل واحد و هو عدد الخانات لذا عدلت الدالة علي النحو التالي.
لقد وضعت النتئج في القائمة prim
eng.ahmadshalabi يمكنك مشاركتنا و ذلك بتحويل هذا الكود للغة السي و إن لم تفهم شيئا بخصوص هذا الكود،نحن في الخدمة
prim=[]
def TestPrimality(n):
m=2
while m<=(10**n-1):
Newm = m - 1
a = 2
calcuD = a ** Newm
Result = calcuD % m
if Result == 1:
prim.append(m)
m+=1تم تعديل هذه المشاركة بواسطة kenham في 14 يناير 2014 في 00:53
المطلوب الآن هو:
صنع دالة للمربعات التامة و دالة للمكعبات التابة و وضع نتائج كل دالة في قائمة
حيث : لدينا مدخل واحد و هو عدد الخانات.
وصنع دالة لجمع أرقام عدد و دالة لضرب أرقام عدد
هنا لا نحتاج لقائمة و إنما نستعمل return
تم تعديل هذه المشاركة بواسطة kenham في 14 يناير 2014 في 00:52
هيا يا شباب أين مشاركاتكم
هذا ليس صعبا أما أن حل اللغز مازال بعيدا إن واصلنا علي هذا المنوال فمتي نحل اللغز
هذه دالة لإختبار أولية عدد رغم طول السورس كود إلى أنها تعطي نتيجة بطريقة جيدة
وبنسبة للدالة ثانية سأحاول ان أبرمجها رغم قصر الوقت لدي

لكن هنا الأعداد الأولية التي نحتاجها مكونة من رقمين فقط. لذا لسنا في حاجة لها يكفينا دالتك التي عدلتها أنا
و ما يهمنا الآن هو الدوال التي ذكترها فوق و التي لا تزال دون حل.
اقتباس
وصنع دالة لجمع أرقام عدد و دالة لضرب أرقام عدد
هنا لا نحتاج لقائمة و إنما نستعمل return
قرأت أن أتقدم قليلا في المشروع و أرجو من الأعضاء المشاركة فإمكاني وضع الكود الكامل للبرنامج.
دالة لجمع أرقام عدد:
def sum(c):
r=0
while c>0:
r=r+(c%10)
c=c//10
return rو هذه دالة للمربعات التامة
Z2=[]
def Z3(case):
a=0
z=a**2
while z<10**case:
Z2.append(z)
a+=1
z=a**3المطلوب الآن هو التعديل علي الداليتن الأخيرتين لصنع دالة لضرب أرقام عدد و دالة للمكعبات التامة
في انتضار مشاركاتكم.
علي ما يبدو لا أحد مهتم بهذا الموضوع.
لذا سأتوقف هنا و إن كان أحد مهتم بهذا الصنف من البرمجيات أرجو أن يراسلني.
المشروع متوقف هنا
حسنا أظن أنه من الأفضل أن أضع الحل لتعم الفائدة علي الجميع.
def _Main_():
global Z2,T25,D11,D87,D887,D30,NINI1,NINI2,NINI3,M3024,D7,T19,D187,D7625,Z3,D10,l
global A,B,C,D,E
global r0,r1,r2,r3,r4
Z2=[]
T25=[]
D11=[]
D87=[]
D887=[]
D30=[]
NINI1=[]
NINI2=[]
NINI3=[]
M3024=[]
T19=[]
D187=[]
D7625=[]
Z3=[]
D10=[]
A=[[],[],[],[],[]]
B=[[],[],[],[],['*']]
C=[[],[],[],['*'],[]]
D=[[],[],['*'],[],[]]
E=[[],[],[],[],[]]
v()
h()
F=0
T=1
while F!=T:
T=0
L=[A,B,C,D,E]
m=0;n=0
while m<5:
while n<5:
T=T+len((L[m])[n])
n+=1
m+=1
dell(M3024,A,0,0)
dell(T19,B,1,0)
dell(D7625,C,0,4)
dell(D187,C,2,0)
dell(Z3,D,0,3)
dell(NINI3,D,3,0)
dell(D10,E,0,0)
A=[[],[],[],[],[]]
B=[[],[],[],[],['*']]
C=[[],[],[],['*'],[]]
D=[[],[],['*'],[],[]]
E=[[],[],[],[],[]]
add(M3024,A,0,0)
add(T19,B,1,0)
add(D7625,C,0,4)
add(D187,C,2,0)
add(Z3,D,0,3)
add(NINI3,D,3,0)
add(D10,E,0,0)
r0=[A[0],B[0],C[0],D[0],E[0]]
r1=[A[1],B[1],C[1],D[1],E[1]]
r2=[A[2],B[2],C[2],D[2],E[2]]
r3=[A[3],B[3],C[3],D[3],E[3]]
r4=[A[4],B[4],C[4],D[4],E[4]]
dell(T25,r0,0,0)
dell(D11,r1,0,0)
dell(D887,r2,0,4)
dell(D87,r2,2,0)
dell(NINI2,r3,0,3)
dell(NINI1,r3,3,0)
dell(D30,r4,0,2)
dell(D887,r4,4,0)
A=[[],[],[],[],[]]
B=[[],[],[],[],['*']]
C=[[],[],[],['*'],[]]
D=[[],[],['*'],[],[]]
E=[[],[],[],[],[]]
r0=[A[0],B[0],C[0],D[0],E[0]]
r1=[A[1],B[1],C[1],D[1],E[1]]
r2=[A[2],B[2],C[2],D[2],E[2]]
r3=[A[3],B[3],C[3],D[3],E[3]]
r4=[A[4],B[4],C[4],D[4],E[4]]
add(T25,r0,0,0)
add(D11,r1,0,0)
add(D887,r2,0,4)
add(D87,r2,2,0)
add(NINI2,r3,0,3)
add(NINI1,r3,3,0)
add(D30,r4,0,2)
add(D887,r4,4,0)
A=[r0[0],r1[0],r2[0],r3[0],r4[0]]
B=[r0[1],r1[1],r2[1],r3[1],r4[1]]
C=[r0[2],r1[2],r2[2],r3[2],r4[2]]
D=[r0[3],r1[3],r2[3],r3[3],r4[3]]
E=[r0[4],r1[4],r2[4],r3[4],r4[4]]
F=0
L=[A,B,C,D,E]
m=0;n=0
while m<5:
while n<5:
F=F+len((L[m])[n])
n+=1
m+=1
l=len(T25)+len(D11)+len(D887)+len(D87)+len(NINI2)+len(NINI1)+len(D30)
graph()
def v():
def VZ2T25():
a=0
z=a**2
while z<100000:
Z2.append(z)
r=0
c=z
while c>0:
r=r+c%10
c=c//10
if r==25:
c=z
r=c%10
if r not in E[0]:
E[0].append(r)
c=c//10
r=c%10
if r not in D[0]:
D[0].append(r)
c=c//10
r=c%10
if r not in C[0]:
C[0].append(r)
c=c//10
r=c%10
if r not in B[0]:
B[0].append(r)
c=c//10
r=c%10
if r not in A[0]:
A[0].append(r)
T25.append(z)
a+=1
z=a**2
def VD11():
z=11
while z<100000:
c=z
r=c%10
if r not in E[1]:
E[1].append(r)
c=c//10
r=c%10
if r not in D[1]:
D[1].append(r)
c=c//10
r=c%10
if r not in C[1]:
C[1].append(r)
c=c//10
r=c%10
if r not in B[1]:
B[1].append(r)
c=c//10
r=c%10
if r not in A[1]:
A[1].append(r)
D11.append(z)
z=z+11
def VD87():
z=87
while z<1000:
c=z
r=c%10
if r not in C[2]:
C[2].append(r)
c=c//10
r=c%10
if r not in B[2]:
B[2].append(r)
c=c//10
r=c%10
if r not in A[2]:
A[2].append(r)
D87.append(z)
z=z+87
def VD887():
z=88%7
D887.append(z)
E[2].append(z)
A[4].append(z)
def VNINI():
z=2
while z<100:
r=z**0.5
a=2
d=0
while a<=r:
if z%a==0:
d=d+1
a+=1
if d==0 :
c=z
r=c%10
if r not in B[3]:
B[3].append(r)
if r not in E[3]:
E[3].append(r)
c=c//10
r=c%10
if r not in A[3]:
A[3].append(r)
if r not in D[3]:
D[3].append(r)
NINI1.append(z)
NINI2.append(z)
NINI3.append(z)
z+=1
def VD30():
z=30
while z<1000:
c=z
r=c%10
if r not in E[4]:
E[4].append(r)
c=c//10
r=c%10
if r not in D[4]:
D[4].append(r)
c=c//10
r=c%10
if r not in C[4]:
C[4].append(r)
D30.append(z)
z=z+30
VZ2T25()
VD11()
VD87()
VD887()
VNINI()
VD30()
def h():
def HZ2T3024():
l=len(Z2)
n=0
while n<l:
z=Z2[n]
c=z
r=1
while c>0:
r=r*(c%10)
c=c//10
if r==3024:
M3024.append(z)
n+=1
def HD7T19():
z=7
while z<10000:
c=z
r=0
while c>0:
r=r+c%10
c=c//10
if r==19:
T19.append(z)
z=z+7
def HD187():
z=187
while z<1000:
D187.append(z)
z=z+187
def HD7625():
z=762%5
D7625.append(z)
def HZ3():
a=0
z=a**3
while z<100:
Z3.append(z)
a+=1
z=a**3
def HD10():
z=10
while z<100000:
D10.append(z)
z+=10
HZ2T3024()
HD7T19()
HD187()
HD7625()
HZ3()
HD10()
def dell(x,y,j,p):
c=len(x)
n=0
while n<c:
z=x[n]
l=z
s=4
g=j+p
while g<5:
r=l%10
if r not in y[s-j]:
x.remove(z)
c-=1
n-=1
break
l=l//10
g+=1
s-=1
n+=1
def add(x,y,j,p):
c=len(x)
n=0
while n<c:
z=x[n]
l=z
s=4
g=j+p
while g<5:
r=l%10
if r not in y[s-j]:
y[s-j].append(r)
l=l//10
g+=1
s-=1
n+=1
def graph():
print'+-----+-----+-----+-----+-----+'
print '|',A[0],'|',B[0],'|',C[0],'|',D[0],'|',E[0],'|'
print'+-----+-----+-----+--------+--------+'
print '|',A[1],'|',B[1],'|',C[1],'|',D[1],'|',E[1],'|'
print'+-----+-----+-----+--------+--------+'
print '|',A[2],'|',B[2],'|',C[2],'|',D[2],'','|',E[2],' ','|'
print'+-----+-----+-------+-----------+--------------------+'
print '|',A[3],'|',B[3],'|',C[3],'|',D[3],'|',E[3],'|'
print'+-----+-------+-----+-----------+------+-------------+'
print '|',A[4],'|',B[4],'|',C[4],'|',D[4],'|',E[4],'','|'
print'+-----+-------+-----+-----------+------+'
_Main_()
print lكما هو ملاحظ لقد قمت بتصميم دوال لتوليد إحتمالات كل سؤال و وضعت الناتج بقوائم
ثم حذفت النتائج الغير مشتركة بين كل قائمتين متقاطعتين
أرجو من الأعضاء التعليق علي الكود
ملاحظة عدد الإحتمالات التي وجدتها هي 17 إحتمال.
ارجو وضع الخطوة الاولى لان الموضوع يهمني ادرس حاليا python ومطلوب مني Project نهاية السمستر الى الان تعلمنا ال fanctions
شكرا لك
لم أفهم ما تريده بالضبط
إن لم تفهم شيئا معينا بالكود او كنت تريد توضيح علي جزء معين فحدده و سأوضحه لك
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…