मैं बीजगणित के एक पूर्णांक का वर्गमूल को आसान बनाने में, नहीं यह संख्यानुसार की गणना है, यानी √80020√2, नहीं 28.2842712474619 होना चाहिए चाहते हैं।सरल वर्ग जड़ों बीजगणित
मैं प्रोग्रामिंग :(
मैं बीजगणित के एक पूर्णांक का वर्गमूल को आसान बनाने में, नहीं यह संख्यानुसार की गणना है, यानी √80020√2, नहीं 28.2842712474619 होना चाहिए चाहते हैं।सरल वर्ग जड़ों बीजगणित
मैं प्रोग्रामिंग :(
गुणनखंड जड़ के नीचे नंबर के माध्यम से इस को हल करने के लिए किसी भी तरह नहीं मिल सकता है, कारक है कि जोड़ों में बाहर आने और जड़ के नीचे आराम छोड़ बाहर लेने।
√800 = √ (2 एक्स 2 एक्स 2 एक्स 2 एक्स 5 एक्स 2 एक्स 5) = √ (2 एक्स 2 x 5 एक्स 2) = (2 एक्स 2 एक्स 5) √2 = 20 √2।
और पूर्णता के लिए, यहां कुछ सरल कोड ई:
outside_root = 1
inside_root = 800
d = 2
while (d * d <= inside_root):
if (inside_root % (d * d) == 0): # inside_root evenly divisible by d * d
inside_root = inside_root/(d * d)
outside_root = outside_root * d
else:
d = d + 1
जब एल्गोरिदम समाप्त हो जाता है, तो बाहर_root और अंदर_root में उत्तर होता है।
यहाँ 800 के साथ रन:
inside outside d
800 1 2 # values at beginning of 'while (...)'
200 2 2
50 4 2
50 4 3
50 4 4
50 4 5
2 20 5 # d*d > 2 so algorithm terminates
== ==
जवाब 20√2 यहाँ अंतिम पंक्ति पर है।
#include<stdio.h>
#include<conio.h>
int main() {
int i, n, n2, last, final;
last = 0, final = 1;
printf("Enter number to calculate root: ");
scanf("%d", & n);
n2 = n;
for (i = 2; i <= n; ++i) {
if (n % i == 0) {
if (i == last) {
final = final * last;
last = 0;
} else {
last = i;
}
n /= i;
i--;
}
}
n = n2/(final * final);
printf("\nRoot: (%d)^2 * %d", final, n);
getch();
return 0;
}
क्या आप मानव द्वारा किए गए कदमों को लिख सकते हैं? यह पहला काम है। – GManNickG
क्या आपका मतलब कुछ सिंबल सिस्टम (मॉड्यूल) है? कृपया http://code.google.com/p/sympy/ – wuliang