วันจันทร์ที่ 17 มีนาคม พ.ศ. 2551

จงเขียนโปรแกรมเพื่อแยกตัวประกอบของตัวเลขที่ผู้ใช้กรอก

(i) จงเขียนโปรแกรมเพื่อแยกตัวประกอบของตัวเลขที่ผู้ใช้กรอก

ข้อมูลนำเข้า:
N - ตัวเลขจำนวนเต็มหนึ่งตัวมีค่าระหว่าง 2 ถึง 2000

ผลลัพธ์:
AxBxCxDx...xZ
เมื่อ A, B, C, D, ..., Z เป็นจำนวนเฉพาะและ A<=B<=C<=D<=...<=Z

ตัวอย่าง:
ข้อมูลนำเข้า:
420
ผลลัพธ์:
2x2x3x5x7

วันอังคารที่ 4 มีนาคม พ.ศ. 2551

ข้อสอบคอมโอลิมปิก 2548



















































































วันจันทร์ที่ 3 มีนาคม พ.ศ. 2551

ARRAY เนื้อหา










Single Link List

#include "stdio.h"
#include "conio.h"
#include "string.h"

typedef struct ptr
{
int id;
char name[25];
struct ptr *next;
}Ptr;
Ptr *start , *p , *q , *go;

void main()
{
start = new Ptr;
strcpy(start->name,"Aree");

p = new Ptr;
strcpy(p->name,"Suda");

q = new Ptr;
strcpy(q->name,"Yupin");

start->next = p;
p->next = q;
q->next = NULL;

clrscr();
printf("%s \n",start->name);
printf("%s \n",p->name);
printf("%s \n",q->name);

printf("%s \n",start->next->name);
printf("%s \n\n\n",start->next->next->name);

go = start;
while(go != NULL)
{
printf("%s \n",go->name);
go = go->next;
}
}

The Tower of Hanoi




#include "stdio.h"
#include "conio.h"

void moveDisk(int n,char a,char c,char b)
{
if (n==1) /*หากแหวนวงเดียว ย้ายจากเสา A ไปยังเสา C */
{
printf("move disk 1 from peg %c to peg %c \n",a,c);
}
else
{
moveDisk(n-1,a,b,c); /*ย้ายแหวน n-1 วง จาเสา A ไปยังเสา B โดยใช้เสา C เป็นเสาพักชั่วคราว */
printf("move disk %d from peg %c to peg %c \n",n,a,c);
moveDisk(n-1,b,c,a); /*ย้ายวงแหวน n-1 วง จากเสา b ไปยังเสา C โดยใช้เสา A เป็นที่พักชั่วคราว*/
}

} /*moveDisk*/

void main()
{ int n = 3;
clrscr();
moveDisk(n,'A','C','B');
}

StructurePointer

#include "stdio.h"
#include "conio.h"
main()
{
struct node
{
int a;
int b;
int c;
};
struct node s= { 10, 20, 30};
struct node *pt = &s;
clrscr();
printf("%d\n" , *(int*)pt);
printf("%d\n" , (*pt).b);
printf("%d\n" , (*pt).c);
}

วันอาทิตย์ที่ 2 มีนาคม พ.ศ. 2551

รีเคอร์ชั่น (Recursion)







//recursion pow
#include "stdio.h"
#include "conio.h"


int power(int x,int n);


void main()
{ int x = 2;
  int n = 5;
  int ans;
 
clrscr();
  ans = power(x,n);
  printf("%d ^ %d =
%d",x,n,ans);
}


int power(int x,int n)
{
 int pow;
  if (n ==
1)
     { pow = x; }
 
else
     { pow = x * power(x,n-1); }
  return
(pow);
}










#include "stdio.h"
#include "conio.h"


int fact(int n);


void main()
{
  int n = 4;
  int ans;
 
clrscr();
  ans = fact(n);
  printf("fact(%d) =
%d",n,ans);
}



int fact(int n)
{
 int fac;
  if (n ==
0)
     { fac = 1; }
 
else
     { fac = fact(n-1) * n; }
  return
(fac);
}



/*


int fact(int n)
{
 int fac,i;
 fac = 1;
 for(i=2 ;
i<=n ; i++)
  {
   fac = fac * i;
 
}
 return (fac);
}


*/