Posted: Fri Mar 25, 2005 11:43 am Post subject: حل چند تمرين ...
Quote:
بنابر فرضيه اي هر عدد زوج برابر است با حاصل جمع دو عدد اول. برنامه اي بنويسيد تا پس از دريافت يک عدد، دو عدد اولي را که مجموع آن ها عدد وارد شده است را چاپ نمايد.
#include <stdio.h>
int FirstNum(int);
main(){
int n,i,n1,n2;
scanf("%d",&n);
for(i=1;i<n/2;i++){
if (!(FirstNum(n-i) && FirstNum(i)
{ n1=FirstNum(n-i); n2=FirstNum(i);}
i++;
}
}
int FirstNum(int n){
int sentinel=-1,i,n;
while(i>n/2 && sentinel) {
if(n/i) sentinel=0;
i++}
return(sentinel);}
Quote:
برنامه اي بنويسيد تا r و n را گرفته و تعداد حالت هاي ممکن انتخاب r شي از n را چاپ نمايد.
#include <stdio.h>
#include <conio.h>
int fact(int);
float comb(int,int);
float seq_(int,int);
int m,n;
main(){
float seq,com_;
printf("enter 2 numbers:");
scanf("%d,%d",&m,&n);
com_=comb(m,n);
seq=seq_(m,n);
printf("the result is %f,%f",com_,seq);
getch();
return 0;
}
int fact(int m){
if(m) return(m*fact(m-1));
return 1; }
float comb(int m,int n){
return(fact(m)/(fact(n)*fact(m-n))) ; }
float seq_(int m,int n){
return(fact(m)/fact(m-n)); }
در صورتيکه ارقام عدد 1089 را وارونه نماييم عدد جديدي بدست مي آيد که مضرب صحيحي از عدد قبلي است (9801*9=1089)، فقط يک عدد چهاررقمي ديگر با اين خاصيت وجود دارد، الگوريتمي بنويسيد تا اين عدد را پيدا کند.
main(){
int sum=0,i,j,k,n;
for(i=999;i<10000;i++){
n=i-i/10;
s+=n;}
n=s/i;
if(i*n==s) break;
printf("%d",s);}
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum