رفتن به مطلب
  • 0

ریشه سوم


hosseiny625

سوال

سلام :hi:

من با کد های زیر تونستم  عدد های موجود در یک لیست ویو رو که ریشه سومشون کامل هست رو پیدا کنم پیدا کنم.((مثلا 8 ، 64 و152 و...))

	For i = 1 To list2.Size -1
		For r = 0 To list2.GetItem(i)/3
			r3=Power(r,3)
			If r3=list2.GetItem(i) Then
				Listj.AddTwoLines(list2.GetItem(i),list2.GetItem(i))
			End If
		Next
	Next

ولی با این کد ها نرم افزار سنگین تر میشه.:shout:

ایا روشی هست که به اسونی بشه ریشه سوم یک عدد رو پیدا کرد؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

9 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

دوباره سلام:hi:

در در 1395/10/07, 15:33:53، محمدرضا شاهپیری گفته است :

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


Power(numb,1/3)

 

چرا این در بعضی اعداد درست جواب نمیده؟

مثلا (Power(343,1/3  عدد 6.9999999 رو نمایش میده. در حالی که ریشه سوم 343 ، 7 هستش.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در ریاضیات، ریشه یا جذر nام یک عدد (مانند b)، عددی (مانند a) است که حاصل شده از به توان رساندن عددی دیگر به دست آمده‌است

Capture.PNG

در نتیجه رابطه زیر رو داریم

ddd.PNG

تابع power کارش رسوندن یه عدد به توان یه عدد دیگه

Power(x,y)

یعنی x به توان y حالا شاید مشکل از تابع power باشه شما میتونید از دستور( Math.cbrt(x که توی جاوا هست استفاده کنید این تابع ریشه سوم رو بر میگردونه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 22 دقیقه قبل، amral گفته است :

فکر کنم از این دستور هم بتونید استفاده کنید:

(Int)^(1/3)

این روش در ویژوال بیسیک جواب میده ولی توی b4a به power تبدیل شده.

در ۱ ساعت قبل، hosseiny625 گفته است :

توضیح میدید که چجوری از این دستور در بیسیک استفاده کنم؟

منظورم از بیسیک ، b4a بود.:pardon:

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در ۱ ساعت قبل، hosseiny625 گفته است :

توضیح میدید که چجوری از این دستور در بیسیک استفاده کنم؟

خیلی ساده اس که

این متد رو اضافه کنید

#if java
public double cuberoot(double adad){
return Math.cbrt(adad);
}
#end if

حالا با کتابخونه javaobject ریشه رو بگیرین

Dim j As JavaObject
j.InitializeContext
dim adad ad Double=343
dim rishesevom as string=j.RunMethod("cuberoot",Array As Object(adad))

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

به این روش عمل کنید عزیز

اول کتابخونه javaobject رو فعال کنید lو متد زیر رو به اکتیویتی اضافه کنید


#If java
public boolean isInteger(String s) {
	    try { 
	        Integer.parseInt(s); 
	    } catch(NumberFormatException e) { 
	        return false; 
	    } catch(NullPointerException e) {
	        return false;
	    }
	    return true;
	}
#End If

حالا به صورت زیر اعدادی که ریشه سوشون کامله رو بگیرید

        Dim j As JavaObject
	    j.InitializeContext
		For i=0 To list2.Size-1
			Dim numb As String=list2.Get(i)
			Dim p As String=Power(numb,1/3)
	        Dim isnumb As Boolean=j.RunMethod("isInteger",Array As Object(p))
		    If isnumb Then
			l.AddSingleLine(numb)
		    End If
		Next

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

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

Power(numb,1/3)

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...