نوشته شده توسط
محسن=0
سلام.
برنامه زیر یه عدد رو میگیره مشخص میکنه اول هست یا نه . مشکل اینه که اگه اول نباشه اول نیست رو مرتب تکرار میکنه .
اشکالش چیه ؟
ایا به غیر از اون مشکل دیگه داره یا نه . خوب نوشته شده یا نه ؟
متشکر
#include <iostream>
using namespace std;
int main()
{
long long n;
cout << "yek adad vared konid :";
cin >> n;
int i = 2 ;
while ( i < n )
{
if ( n%i == 0)
cout << n <<"avval nist ";
else
i++;
}
cout << "avval ast";
return 0;
}
اشکالاتش که دوستان گفتن . فقط من کدخودت رو با کمی تغییذ می ذارم تا بتونی نتیچه تقیسم ها رو هم ببینی و استفاده از جذر فقط تعداد تقیسم ها رو کاهش می ده . که می تونی امتحان کنی
#include <iostream>
#include <cmath>// for sqrt();
using namespace std;
int main()
{
long long n;
bool c=true;
cout << "yek adad vared konid :";
cin >> n;
int i = 2 ;
while ( i<n)//inja mitoni ta (i<=sqrt(n))
{
if ( n%i == 0)
c=false;
cout << n <<" % "<<i<<"= "<<n%i<<"\n";
i++;
}
if(c==true)
cout<<endl<<n<<" adad aval hast\n";
else
cout<<endl<<n<<" adad aval nist\n " ;
return 0;
}