PDA

View Full Version : پیدا کردن اعداد متهابه



arrsalan
چهارشنبه 27 فروردین 1393, 23:17 عصر
سلام ! این برنامه رو میخواستم !

برنامه ای بنویسید که دو عدد را بگیرد و اعداد متهابه بین آن ها را چاپ کند !

اعداد متهابه : اعدادی هستند که مقسوم علیه های هریک با دیگری برابر باشند ! مانند اعداد 220 و 284 که با هم متهابه هستند !

مقسوم علیه های 284 : 220
مقسوم علیه های 220 : 284

CodeKhor
پنج شنبه 28 فروردین 1393, 10:42 صبح
:متعجب: دوست عزیز سطح این سوال برای این انجمن خیلی پایینه :متعجب: لطفا سورس پروژه های دانش آموزی خودتون رو از این انجمن نخواید :کف:

شما نیاز به 2 حلقه تو در تو دارید در حلقه اول قبل از شروع حلقه دوم باید تعداد مقسوم علیه های عدد اول به دست بیارید و در حلقه دوم هر عددی تعداد مقسوم علیه هایش با عدد اول برابر بود چاپ کنید ! کلا 10 خط نمیشه !

arrsalan
پنج شنبه 28 فروردین 1393, 10:52 صبح
:متعجب: دوست عزیز سطح این سوال برای این انجمن خیلی پایینه :متعجب: لطفا سورس پروژه های دانش آموزی خودتون رو از این انجمن نخواید :کف:

شما نیاز به 2 حلقه تو در تو دارید در حلقه اول قبل از شروع حلقه دوم باید تعداد مقسوم علیه های عدد اول به دست بیارید و در حلقه دوم هر عددی تعداد مقسوم علیه هایش با عدد اول برابر بود چاپ کنید ! کلا 10 خط نمیشه !

:|

یعنی انجمنو زدند فقط برای کسایی که سوال سطح بالا دارند ؟ تازه وارد نمیتونه سوال بپرسه ؟؟؟!؟!؟!


این کارا رو انجام میدم ولی به جای 220 و 284

220 و 265 میده :|

arrsalan
پنج شنبه 28 فروردین 1393, 11:29 صبح
من الان اینو نوشتم درستم نشون میده ولی مثلا برای اعداد بالای 10000 ارور میده ! مشکل از چیه ؟!



Private Sub Command_Click()
Dim a, b, r, t, s, i, j, z, h As Integer
Cls
a = Val(InputBox("Enter a :"))
b = Val(InputBox("Enter b :"))
For i = a To b
For j = 1 To i \ 2
If i Mod j = 0 Then t = t + j

Next

z = t
t = 0
'------------
'------------
For s = 1 To z \ 2
If z Mod s = 0 Then r = r + s
Next
h = r
r = 0

If h = i Then
Print h
Print z
End If


Next
End Sub

CodeKhor
پنج شنبه 28 فروردین 1393, 14:20 عصر
چون شما متغیرهارو از نوع Integer تعریف کردی و متغیر Integer عدد بیشتر از 32000 نمیتونه داشته باشه ولی برناتمه طوری پیش میره که شما میخوای داخل متغیر h عدد 32928 بریزید و overflow میده.
باید متغیرهارو اینطور تعریف کنی



Dim a, b, r, t, s, i, j, z, h