PDA

View Full Version : سوال: در مورد اعداد اول در Php



Slimon
سه شنبه 29 مرداد 1387, 16:59 عصر
دوستان میخوام در این فایل Html (http://"http://www.2shared.com/file/3783753/c4f14257/1_online.html") وقتی یه عدد رو از بین 1 تا 100 در فیلد مربوط به number وارد میکنیم و گزینه Submit رو میزنیم در صفحه بعد (php) اعلام کنه که عدد فلان، عدد اول است و اگر عدد اول نبود، بگه نیست !

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

cybercoder
سه شنبه 29 مرداد 1387, 18:01 عصر
الگوریتم اعداد اول در بخش مربوطه باید باشه

paksar
سه شنبه 29 مرداد 1387, 18:53 عصر
دوستان میخوام در این فایل Html (http://%22http://www.2shared.com/file/3783753/c4f14257/1_online.html%22) وقتی یه عدد رو از بین 1 تا 100 در فیلد مربوط به number وارد میکنیم و گزینه Submit رو میزنیم در صفحه بعد (php) اعلام کنه که عدد فلان، عدد اول است و اگر عدد اول نبود، بگه نیست !

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

سلام

شما اول میان با استفاده از حلقه تکرار اعداد اول بین 0 تا 100 ایجاد میکنید و در بدنه حلقه شرط اول بودن یا نبودن رو چک می کنید.

موفق باشی.

yaqubian
سه شنبه 29 مرداد 1387, 19:09 عصر
دوست عزیز
اینو یه نیگاه بنداز
http://fundisom.com/phparadise/php/html_and_code/prime_numbers
موفق باشید

tabib_m
سه شنبه 29 مرداد 1387, 20:22 عصر
<?
$num=$_GET['num'];

$avval=array(2,3,5,7,11,13,17,19,23,29,31,37,41,43 ,47,53,59,61,67,71,73,79,83,89,97);

if(in_array($num,$avval)) echo "این عدد اول است."; else echo "این عدد اول نیست.";
?>
<form>
<input type="text" name="num" value="<?=$num;?>" />
<input type="submit" />
</form>


همیشه بهترین راه، کلی ترین راه نیست...

موفق باشید.

vahid4134
چهارشنبه 30 مرداد 1387, 10:23 صبح
دوستان میخوام در این فایل Html (http://%22http://www.2shared.com/file/3783753/c4f14257/1_online.html%22) وقتی یه عدد رو از بین 1 تا 100 در فیلد مربوط به number وارد میکنیم و گزینه Submit رو میزنیم در صفحه بعد (php) اعلام کنه که عدد فلان، عدد اول است و اگر عدد اول نبود، بگه نیست !

ممنون میشم راهنماییم کنید
این تمرین هر چی باشه یکی از بهترین کارهاست تا بدانیم که الگوریتم ها چه نقشی رو در برنامه نویسی درست دارند.
طریقه پیدا کردن و تست کردن اینکه یک عدد - عدد اول است یا خیر مربوط به خیلی سالهای پیش میشه و ریاضی دانان بزرگی برای برای این موضوع تلاش کردند
می تونید از فرمولها و الگوریتمهای اونها استفاده کنید و یک کد بسیار مناسب رو بنویسی
http://en.wikipedia.org/wiki/Primality_test

ooooooo
چهارشنبه 30 مرداد 1387, 20:03 عصر
سلام
فکر کنم مشکلتون با این کد حل بشه(هرچند فکر می کنم Slimon عزیز این کد رو برای روز 4شنبه میخواست!!،به هر حال من این به ذهنم می آد):

<style type="text/css">
<!--
.style1 {color: #FF0000}
-->
</style>

<?php
$n=$_GET[n];
if($n <= 100){
if(($n > 11)&&($n%2==!0)&&($n%3==!0)&&($n%5==!0)&&($n%7==!0)&&($n%11==!0)){
echo 'adad aval ast.';
}
elseif(($n <= 11)&&(($n==2)or($n==3)or($n==5)or($n==7)or($n==11))){
echo 'adad aval ast.';
}
else{
echo 'adad aval <span class="style1">nist</span>.';
}
}
else{
echo 'lotfan adadi beine 1 ta 100 entekhab konid.';
}
?>
http://www.barnamenevis.org/forum/images/icons/icon12.gifooooooo!!

meysamm
چهارشنبه 30 مرداد 1387, 20:12 عصر
با کد زیر این کار براحتی قابل انجام هستش! دقت کنید که حلقه به ازای اعداد یک تا صد فقط تا 11 تکرار میشه! میتونید خودتون این موضوع رو تست کنید!

<?php
$n = $_GET['num'];
$check = 0;
for ($counter = 2; $counter <= 11; $counter += 1) {
if (($n % $counter) == 0)
$check += 1;
}

if ($check == 1)
echo $n.' is prime!';
else
echo $n.' is not prime!';

?>

it4six
دوشنبه 18 آذر 1387, 19:48 عصر
به نظرم همه موارد زیر اشتباه هستند و بهترین کد اینه :

<?php
$flag=1;
$num=$_GET['num'];
for($i=2;$i<$num;$i++)
if($num%$i==0){
$flag=0; //ziro equal false
break;
}
if($flag==1)echo "عدد اول است ";
else echo "عدد اول نیست ";
?>

yaqubian
سه شنبه 19 آذر 1387, 10:06 صبح
دوست عزیز
اولا از لطفتون ممنون.
ثانیا شما وقتی می گید همه راه ها اشتباهن بهتره یه دلیل هم واسه اشتباه بودنشون بیارید تا سایر دوستان واسه مراحل بعدی اشتباهاتشون رو تصحیح کنن.
موفق باشید

narsic
سه شنبه 19 آذر 1387, 11:24 صبح
در ادامه صحبت دوستمون یعقوبیان دوست عزیز دقیقا کد شما اشتیاه هستش برای اعداد اول بین 100 تا 110 به مشکل میخوره .
موفق باشید