salam khahesh mikonam inshalla ke be dardeton bokhore man toi linux neveshtam be khater in niyazi be conio.h nist
Printable View
salam khahesh mikonam inshalla ke be dardeton bokhore man toi linux neveshtam be khater in niyazi be conio.h nist
اگه برنامه ات رو كه بهش چند خط اضافه كردم اجرا كني مي بيني اين اعدادي كه مي گي اصلا اول نيستن!نقل قول:
1001 بر 7 و 11 و 13 و 77و 91 و 143 بخش پذيره
1003 بر 17 و 59
1007 بر 19 و 53
مي توني به اينا تقسيم كني كه مطمئن بشي!
سلامنقل قول:
شما راست ميگيد آرام جان اشتباه از من بود
ببخشيد اصلا حواسم نبود:43:
سلام
يك سوال ديگر:
اين برنامه در مورد چاپ كليه اعداد چهار رقمي است كه مجموع ارقام آنها اول باشد.
من اينطوري نوشتم:
امادرستکد:
#include <iostream.h>
int digit(int);
int prime(int);
int main()
{
int n;
for(n=1000;n<10000;n++)
digit(n);
prime(digit(n));
cout<<n<<'\t';
return 0;
}
int digit(int n)
{
int a,sum=0;
a=n%10;
sum=a+sum;
n=n/10;
return sum;
}
int prime(int n)
{
int i,temp=1;
for(i=2;(i<=n/2) && temp;i++)
if(n%i==0)
temp=0;
return temp;
}
جواب
نميده:41:ميزنه10000
ميشه راجع به توابع بازگشتي و ساختار و عملكرد اين توابع توضيح بديد؟؟؟
مشكلت توي تابع digit هستش ايني كه تو نوشتي جمع 4 رقم رو حساب نمي كنهنقل قول:
و ديگه اينكه يادت رفته براي دستوراتي كه توي for دادي دو تا كروشه بذاري همين باعث شده فقط جوابت 1000 باشه
اينو امتحان كن:
کد:#include <iostream.h>
#include <conio.h>
int digit(int);
int prime(int);
int main()
{
int n;
for(n=1000;n<10000;n++){
digit(n);
if (prime(digit(n)))
cout<<n<<'\t';
}
getch();
return 0;
}
int digit(int n)
{
int a,sum=0;
for ( int i=1; i<=3; i++)
{
a=n%10;
sum=a+sum;
n=n/10;
}
sum=sum+n;
return sum;
}
int prime(int n)
{
int i,temp=1;
for(i=2;(i<=n/2) && temp;i++)
if(n%i==0)
temp=0;
return temp;
}
مشكلت توي تابع digit هستش ايني كه تو جمع 4 رقم رو حساب نمي كنهنقل قول:
و ديگه اينكه يادت رفته براي دستوراتي كه توي for دادي دو تا كروشه بذاري همين باعث شده فقط جوابت 1000 باشه
اينو امتحان كن:
کد:#include <iostream.h>
#include <conio.h>
int digit(int);
int prime(int);
int main()
{
int n;
for(n=1000;n<10000;n++){
digit(n);
if (prime(digit(n)))
cout<<n<<'\t';
}
getch();
return 0;
}
int digit(int n)
{
int a,sum=0;
for ( int i=1; i<=3; i++)
{
a=n%10;
sum=a+sum;
n=n/10;
}
sum=sum+n;
return sum;
}
int prime(int n)
{
int i,temp=1;
for(i=2;(i<=n/2) && temp;i++)
if(n%i==0)
temp=0;
return temp;
}
سلام ممنون آرام جان درست شد.نقل قول:
سلام
با عرض معذرت كه اينقدر سوال مي پرسم
برنامه اي كه نوشتم درباره اينه كه كليه اعداد كوچكتر از 100 كه مجموعشان با خودشان برابر است را چاپ كند.ولي جواب اشتباه ميده.
با تشكر قبلي.:11:کد:
#include <iostream.h>
int digit(int);
int main()
{
int n;
for(n=1;n<100;n++)
if(digit(n)==n)
cout<<n<<'\t';
return 0;
}
int digit(int num)
{
int sum=0,a;
do{
a=num%10;
sum=a+sum;
num=num/10;
}while(num !=0);
return sum;
}
خواهش مي شه!
ولي اين برنامه مشكلي نداره!
چرا فكر مي كني جواباش غلطه؟
بين اعداد 1 تا 100 فقط عدداي يك رقمي جمعشون با خودشون برابره كه اين برنامه هم همشون رو نشون مي ده