سلام دوستان. من میخواستم برنامه ای به زبان C بنویسم که بتونه اعداد اول رو تشخیص بده. این کارو با کمی جستجو تونستم انجام بدم ولی یه مشکلی دارم و اونم اینه که واسم محدودیت به وجود اومده و او ن محدودیت هم به خاطر تابع sqrt() . l . مشکل به این صورته که وقتی مقدار آرگومان sqrt رو بیشتر از حدوداً 5 میلیون میدم برنامه قاطی میکنه error رو میده. البته برنامه رو تو توربو c اجرا میکنم. ولی همین برنامه ( با کمی تغیر تو توابع) دارم تو ویژال C اجرا میکنم error نمیده. ولی چون نمیدونیم اعدادمون کدوماش اوله تو درستی برنامم شک میکنم.
اصلاً یه نگاهی به برنامه بکنین ببینین درسته یا نه؟؟
[/left]
اصلاً یه نگاهی به برنامه بکنین ببینین درسته یا نه؟؟
کد:
[left] #include <stdio.h> #include <conio.h> #include <math.h> void main() { int x; int m,i; clrscr(); printf("plese insert your number: "); scanf("%d",&x); if(x==0) break; m=sqrt(x); for(i=2;i<=m;i++){ if(x%i==0) break; } if(i==m+1){ printf("add aval ast\n\n"); }else{ printf("add aval nist\n\n"); } getch(); }
دیدگاه