# GÓC SÁNG TẠO > Khu vực lập trình > C/C++ >  Một số bài tập C về vòng lặp anh em vào xem và giải đáp

## hoaican

*1.**Viết chương trình in ra bảng mã ASCII*
*2.**Viết chương trình tính tổng bậc 3 của N số nguyên đầu tiên.*
*3.**Viết chương trình nhập vào một số nguyên rồi in ra tất cả các ước số của số đó.*
*4.**Viết chương trình vẽ một tam giác cân bằng các dấu **
*5.**Viết chương trình tính tổng nghịch đảo của N số nguyên đầu tiên theo công thức*
S = 1 + 1/2 + 1/3 + … + 1/N
*6.**Viết chương trình tính tổng bình phương các số lẻ từ 1 đến N.*
*7.**Viết chương trình nhập vào N số nguyên, tìm số lớn nhất, số nhỏ nhất.*
*8.**Viết chương trình nhập vào N rồi tính giai thừa của N.*
*9.**Viết chương trình tìm USCLN, BSCNN của 2 số.*
*10.**Viết chương trình vẽ một tam giác cân rỗng bằng các dấu *.*
*11.**Viết chương trình vẽ hình chữ nhật rỗng bằng các dấu *.*
*12.**Viết chương trình nhập vào một số và kiểm tra xem số đó có phải là số nguyên tố hay không?*
*13.**Viết chương trình tính số hạng thứ n của dãy Fibonaci.*
Dãy Fibonaci là dãy số gồm các số hạng p(n) với:
p(n) = p(n-1) + p(n-2) với n>2 và p(1) = p(2) = 1
Dãy Fibonaci sẽ là: 1 1 2 3 5 8 13 21 34 55 89 144…
*14.**Viết chương trình tính giá trị của đa thức*
Pn = anxn + an-1xn-1 + … + a1x1 + a0
Hướng dẫn đa thức có thể viết lại
Pn = (…(anx + an-1)x + an-2)x + … + a0
Như vậy trước tiên tính anx + an-1, lấy kết quả nhân với x, sau đó lấy kết quả nhân với x cộng thêm an-2, lấy kết quả nhân với x … n gọi là bậc của đa thức.
*15.**Viết chương trình tính xn với x, n được nhập vào từ bàn phím.*
*16.**Viết chương trình nhập vào 1 số từ 0 đến 9. In ra chữ số tương ứng. Ví dụ: nhập vào số 5, in ra "Năm".*
*17.**Viết chương trình phân tích một số nguyên N thành tích của các thừa số nguyên tố.*
*18.**Viết chương trình lặp lại nhiều lần công việc nhập một ký tự và in ra mã ASCII của ký tự đó, khi nào nhập số 0 thì dừng.*
*19.**Viết chương trình tìm ước số chung lớn nhất và bội số chung nhỏ nhất của 2 số nguyên.*
*20.**Viết chương trình in lá cờ nước Mỹ.*
*21.**Viết chương trình tính dân số của một thành phố sau 10 năm nữa, biết rằng dân số hiện nay là 6.000.000, tỉ lệ tăng dân số hàng năm là 1.8% .*
*22.**Viết chương trình tìm các số nguyên gồm 3 chữ số sao cho tích của 3 chữ số bằng tổng 3 chữ số.* Ví dụ: 1*2*3 = 1+2+3.
*23.**Viết chương trình tìm các số nguyên a, b, c, d khác nhau trong khoảng từ 0 tới 10 thỏa mãn điều kiện a*d*d = b*c*c*c*
*24.**Viết chương trình tính tổ hợp N chập K (với K <= N)*
C=((N-k+1) * (N-k+2)*…N)/1*2*3*…*k
Trong đó C là một tích gồm k phần tử với phần tử thứ I là (N-k+1)/I. Để viết chương trình này, bạn dùng vòng lặp For với biến điều khiển I từ giá trị đầu là 1 tăng đến giá trị cuối là k kết hợp với việc nhân dồn vào kết quả C.
*25.**Viết chương trình giải bài toán cổ điển sau:*
Trăm trâu, trăm cỏ
Trâu đứng ăn năm
Trâu nằm ăn ba,
Ba trâu già ăn một
Hỏi mỗi loại trâu có bao nhiêu con.
*26.**Viết chương trình giải bài toán cổ điển sau:*
Vừa gà vừa chó 36 con
Bó lại cho tròn, đếm đủ 100 chân
Hỏi có bao nhiêu gà, bao nhiêu chó
*27.**Viết chương trình in ra bảng cửu chương*
*28.**Viết chương trình xác định xem một tờ giấy có độ dày 0.1 mm. Phải gấp đôi tờ giấy bao nhiêu lần để nó có độ dày 1m.*
*29.**Viết chương trình tìm các số nguyên tố từ 2 đến N, với N được nhập vào.*
*30.**Viết chương trình lặp đi lặp lại các công việc sau:*
- Nhập vào một ký tự trên bàn phím.
- Nếu là chữ thường thì in ra chính nó và chữ HOA tương ứng.
- Nếu là chữ HOA thì in ra chính nó và chữ thường tường ứng.
- Nếu là ký số thì in ra chính nó.
- Nếu là một ký tự điều khiển thì kết thúc chương trình
*31.**Viết chương trình nhập vào x, n tính:*
- sprt(x + sqrt(x + (sqrt(x))) (n dấu căn)
- 1 + x/2 + ... x^n / (x+1)
*32 .. Viết chương trình nhập vào N số nguyên, đếm xem có bao nhiêu số âm, bao nhiêu số dương và bao nhiêu số không.:lick::lick::lick::lick:*

----------


## conghung999

hi hi toàn bài dễ thôi anh em vô trao đồi code [IMG]data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAA  l21bKAAAAA1BMVEXh5PJm+yKVAAAAAXRSTlMAQObYZgAAAApJR  EFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=[/IMG]

----------


## daothuhuyen93

tui khong ranh lam, nhung cung lam dc may bai, ai lam duoc het thi co gang post len cho anh em tham khao nha

----------


## saobang

hê hê anh em phải trao đổi code với nhau chứ 
tui làm đc bài đầu tiên nẻ : 
code :



> #include<stdio.h>
> #include<conio.h>
> void main()
> {
> clrscr;
> int i,j,a,b;
> printf(" ~_~ troi` dat' bao la tui biet lam ma` ~_~
> ");
> printf("
> ...

----------


## SuperQA

bài 2 : đây này ..................



> #include<stdio.h>
> #include<conio.h>
> void main()
> {
> clrscr();
> int n,i;
> printf("nhap so nguyen n:");
> scanf("%d",&n);
> printf("cac uoc so cua %d la:
> ...

----------


## dichvutonghop

bài 3 .. 



> #include<stdio.h>
> #include<conio.h>
> void main()
> {
> clrscr();
> int n,i,j;
> printf("nhap chieu cao tam giac:");
> scanf("%d",&n);
> for(i=1;i<=n;i++)
> ...

----------


## duthu94

nhầm roài đây là bài 4 tam giác cân

----------


## thanhlydongden02

srr mọi người nha

----------


## trqdzung

*Bài 6.**Viết chương trình tính tổng bình phương các số lẻ từ 1 đến N.
Đây là code giải của mình:
*


```
#include<iostream>
using namespace std;
int main()
{
    int n;
    cout<<"nhap vao so nguyen n"<<endl;
    cin>>n; //nhap vao so nguyen n
    int s=0; //khoi tao tong, gan gia tri cua tong ban dau bang 0
    for(int i=1;i<=n;i=i+2) s=s+i*i; //cho i chay tu 1 den n, moi lan tang i 2 don vi, cong tong voi i binh phuong
    cout<<"tong tim duoc la"<<endl;
    cout<<"s="<<s<<endl; //in ra tong
    system("pause");
}
```

* 
*

----------


## crawlers1214

*Bài 7.**Viết chương trình nhập vào N số nguyên, tìm số lớn nhất, số nhỏ nhất.
Đây là code giải của mình:
*


```
#include<iostream>
using namespace std;
int main()
{
    int n;
    cout<<"nhap vao so phan tu cua mang"<<endl;
    cin>>n; 
    int a[n]; //khoi tao mot mang gom n phan tu
    for(int i=0;i<n;i++)
    {
            cout<<"a["<<i<<"]=";
            cin>>a[i];
    } //nhap vao tung phan tu cua mang
    int max=a[0]; //khoi tao gia tri max bang a[0]
    int min=a[0]; //khoi tao gia tri min cung bang a[0]
    for(int i=0;i<n;i++)
    {
            if(max<a[i]) max=a[i]; //neu tim thay gia tri > gia tri max, ta ghi lai gia tri ay
            if(min>a[i]) min=a[i]; //neu tim thay gia tri < gia tri min, ta ghi lai gia tri ay
    }
    cout<<"gia tri lon nhat cua mang la: "<<max<<endl;
    cout<<"gia tri nho nhat cua mang la: "<<min<<endl;
    system("pause");
}
```

*
*

----------


## pizzabon2015

*Bài 8.**Viết chương trình nhập vào N rồi tính giai thừa của N.
Đây là code giải của mình:
*


```
#include<iostream>
using namespace std;
int main()
{
    int n;
    cout<<"nhap vao so nguyen n"<<endl;
    cin>>n;
    int gt=1; //khoi tao giai thua bang 1
    for(int i=2;i<=n;i++) gt=gt*i; //cho i chay tu 2 den n, nhan lien tiep gt voi i
    cout<<"giai thua cua "<<n<<" la: "<<gt<<endl;
    system("pause");
}
```

----------


## betterlife

*Bài 9.**Viết chương trình tìm USCLN, BSCNN của 2 số.
Đây là code giải của mình:
*


```
#include<iostream>
using namespace std;
int main()
{
    int a, b;
    cout<<"nhap vao 2 so a, b"<<endl;
    cout<<"a= ";cin>>a; //nhap vao so a
    cout<<"b= ";cin>>b; //nhap vao so b
    int c=a, d=b;
    while(c!=d) //khi nao c con khac d thi
    {
               if(c>d) c=c-d; //neu c>d thi c=c-d
               else d=d-c; //neu c<d thi d=d-c
    }
    cout<<"ucln cua 2 so "<<a<<" va "<<b<<" la: "<<d<<endl;
    cout<<"bcnn cua 2 so "<<a<<" va "<<b<<" la: "<<a*b/d<<endl;
    system("pause");
}
```

* 
*

----------


## anhnt

*Bài 29.Viết chương trình tìm các số nguyên tố từ 2 đến N, với N được nhập vào.
Đây là code giải của mình:
*


```
#include<iostream>
using namespace std;
int main()
{
    int n;
    cout<<"so n la: ";
    cin>>n;
    int a[n];
    a[0]=2;int t=0;
    for(int i=3;i<=n;i++)
    {
            int m=1;
            for(int j=0;j<=t;j++)
            {
                    if((i%a[j])==0)
                    {
                            m=0;
                            break;
                    }
            }
            if(m==1)
            {
                    t++;
                    a[t]=i;
            }
    }
    cout<<a[0];
    for(int i=1;i<=t;i++) cout<<", "<<a[i];
    cout<<endl;
    system("pause");
}
```

*
Ý tưởng của mình trong bài toán này là, khởi tạo một mảng để lưu trữ các số nguyên tố tìm được. Với số nguyên n cần kiểm tra xem nó có là số nguyên tố hay không, ta tiến hành chia nó cho các số nguyên tố trong mảng. Nếu mà nó không chia hết cho số nào thì nó là số nguyên tố , ta lưu giá trị của số nguyên tố này lại, rồi lại tiếp tục làm với số n lớn hơn.*

----------


## daothuhuyen93

> *Bài 29.Viết chương trình tìm các số nguyên tố từ 2 đến N, với N được nhập vào.
> Đây là code giải của mình:
> *
> 
> 
> ```
> #include<iostream>
> using namespace std;
> int main()
> ...


chời ơi , đâu cần dài dữ dậy , 1 vong lặp là ra ngay thôi mà :1eye


```
#include <iostream.h>
int So_Nguyen_To (int x);
int So_Nguyen_To (int x)
{
	int i = 2;
	if (x < 2)
		return 0;
	while (x%i != 0)
		i++;
	if (x == i)
		return 1;
	return 0;
}
void main ()
{
	int n;
	cout << "Nhap vao 1 so n : " ; cin >> n;
	for (int x = 2 ; x <= n ; x++)
	{
		if (So_Nguyen_To (x) != 0)
			cout << x << "\t";
	}
	cout << endl;
}
```

----------


## xuanninh164

> *Bài 9.**Viết chương trình tìm USCLN, BSCNN của 2 số.
> Đây là code giải của mình:
> *
> 
> 
> ```
> #include<iostream>
> using namespace std;
> int main()
> ...


cái này sẽ bị lỗi khi nhập a hoặc b = 0 hay a hoặc b < 0 đấy bạn àh
mình sửa lại thế này :


```
#include<iostream.h>
int USCLN (int a , int b)
{
	if (a < 0) a = -a;
	if (b < 0) b = -b;
	if (a == 0)	return b;
	if (b == 0)	return a;
	while (a != b)
	{
		if (a > b)
			a -= b;
		else
			b-= a;
	}
	return b;
}
int main()
{
	int a , b;
	cout << "Nhap a = " ; cin >> a;
	cout << "Nhap b = " ; cin >> b;
	cout << "USCLN = " << USCLN (a , b) << endl;
	cout << "BSCNN = " << (a*b)/USCLN (a , b) << endl;
	return 0;
}
```

----------


## ananhhoang

> chời ơi , đâu cần dài dữ dậy , 1 vong lặp là ra ngay thôi mà :1eye
> 
> 
> ```
> #include <iostream.h>
> int So_Nguyen_To (int x);
> int So_Nguyen_To (int x)
> {
>     int i = 2;
> ...


Bạn à, nếu làm như bạn sẽ sử dụng khá nhiều vòng lặp,không phải một vòng lặp đâu bạn à. Bởi vì bản thân hàm kiểm tra số nguyên tố của bạn đã chứa một vòng lặp. Như vậy nếu với số n lớn mình nghĩ nó sẽ khá tốn thời gian bạn à.

----------


## parkhill

> cái này sẽ bị lỗi khi nhập a hoặc b = 0 hay a hoặc b < 0 đấy bạn àh
> mình sửa lại thế này :
> 
> 
> ```
> #include<iostream.h>
> int USCLN (int a , int b)
> {
>     if (a < 0) a = -a;
> ...


Còn điều này thì bạn đúng. Cám ơn bạn đã sửa giúp mình nha!
Thân.

----------


## longland

> Bạn à, nếu làm như bạn sẽ sử dụng khá nhiều vòng lặp,không phải một vòng lặp đâu bạn à. Bởi vì bản thân hàm kiểm tra số nguyên tố của bạn đã chứa một vòng lặp. Như vậy nếu với số n lớn mình nghĩ nó sẽ khá tốn thời gian bạn à.


hixhix , 1 vòng lặp có nghĩa là trong phần main() chỉ viết 1 vòng *for* cho dễ nhìn thôi , chứ đã nói là 1 vòng lặp thì lặp làm gì !

----------


## namsgu3979

*5.Viết chương trình tính tổng nghịch đảo của N số nguyên đầu tiên theo công thức
S = 1 + 1/2 + 1/3 + … + 1/N*


```
#include <conio.h>
#include <stdio.h>
void main ()
{
	int n;
	printf ("Ban muon tinh bao nhiu so : "); scanf ("%d" , &n);
	double sum = 0 , i;
	for ( i = 1 ; i <= n ; i++)
		sum += 1/i;
	printf ("Ket qua = %5.2f  
" , sum);
}
```

----------


## trothinhthienduc

*10.Viết chương trình vẽ một tam giác cân rỗng bằng các dấu *.*


```
#include <conio.h>
#include <stdio.h>
void main ()
{
	int n;
	printf ("Nhap chieu cao cua tam giac : "); scanf ("%d" , &n);
	n = 2*n-1;
	for (int i = 1 ; i <= n ; i++)
	{
		for (int j = 1 ; j <= n ; j++)
		{
			if ( (i == n || i == j || i+j == n+1) && i >= (n/2)+1)
				printf ("%c" , '*');
			else
				printf (" ");
		}
		printf ("
");
	}
}
```

*11.Viết chương trình vẽ hình chữ nhật rỗng bằng các dấu **


```
#include <stdio.h>
#include <conio.h>
void main ()
{
	int n , m;
	printf ("Nhap chieu rong : "); scanf ("%d" , &n);
	printf ("Nhap chieu cao : "); scanf ("%d" , &m);
	for (int i = 1 ; i <= m ; i++)
	{
		for (int j = 1 ; j <= n ; j++)
		{
			if (i == 1 || i == m || j == 1 || j == n)
				printf ("%c" , '*');
			else
				printf (" ");
		}
		printf ("
");
	}
}
```

*12.Viết chương trình nhập vào một số và kiểm tra xem số đó có phải là số nguyên tố hay không?*


```
#include <conio.h>
#include <stdio.h>
void main ()
{
	int n;
	do {
	printf ("Nhap vao so can kiem tra : "); scanf ("%d" , &n);
	} while (n < 2);
	int i = 2;
	while (n%i != 0)
		i++;
	if (n == i)
		printf ("Do la so NGUYEN TO 
");
	else
		printf ("Khong phai so NGUYEN TO 
");
}
```

----------


## trungvn2092

> *12.Viết chương trình nhập vào một số và kiểm tra xem số đó có phải là số nguyên tố hay không?*
> 
> 
> ```
> #include <conio.h>
> #include <stdio.h>
> void main ()
> {
>     int n;
> ...


Lệnh printf là lệnh in ra phải không bạn? Mình học thầy chỉ cho sử dụng lệnh cout<< thui.

----------


## inoviss

> Lệnh printf là lệnh in ra phải không bạn? Mình học thầy chỉ cho sử dụng lệnh cout<< thui.


uh , cái đó mình viết = C , mình cũng học về C++ ko àh , trong C++ dùng *cout <<* cũng như *printf* àh

----------


## minhle107

Uh, mình cũng học về C++. Mình cũng không hiểu rõ C và C++ khác nhau như thế nào cả. Mình cũng chưa thử lệnh printf trong C++ vì dùng Cout<< quen rồi.

----------


## otootin

*25.Viết chương trình giải bài toán cổ điển sau:
Trăm trâu, trăm cỏ
Trâu đứng ăn năm
Trâu nằm ăn ba,
Ba trâu già ăn một
Hỏi mỗi loại trâu có bao nhiêu con.*


```
#include <conio.h>
#include <stdio.h>
void main ()
{
	int traudung , traunam , traugia;
	for (traudung = 1 ; traudung <= 100 ; traudung++)
		for (traunam = 1 ; traunam <= 100 ; traunam++)
			for (traugia = 1 ; traugia <= 100 ; traugia++)
				if ((5*traudung + 3*traunam + traugia == 100)
					&& traugia%3 == 0)
					printf ("Trau dung : %d con  Trau nam : %d con Trau gia : %d con 
 " 
					, traudung , traunam , traugia);
}
```

dòng cuối nó bị mất thì phải :
*printf ("Trau dung : %d con Trau nam : %d con Trau gia : %d con 
 " , traudung , traunam , traugia);*
*26.Viết chương trình giải bài toán cổ điển sau:
Vừa gà vừa chó 36 con
Bó lại cho tròn, đếm đủ 100 chân
Hỏi có bao nhiêu gà, bao nhiêu chó*


```
#include <conio.h>
#include <stdio.h>
void main ()
{
	int ga , cho;
	for (ga = 1 ; ga < 36 ; ga++)
		for (cho = 1 ; cho < 36 ; cho++)
			if ((2*ga + 4*cho == 100) && ga + cho == 36)
				printf ("Ga : %d con , Cho : %d con 
" , ga , cho);
}
```

*30.Viết chương trình lặp đi lặp lại các công việc sau:*
- Nhập vào một ký tự trên bàn phím.
- Nếu là chữ thường thì in ra chính nó và chữ HOA tương ứng.
- Nếu là chữ HOA thì in ra chính nó và chữ thường tường ứng.
- Nếu là ký số thì in ra chính nó.
*- Nếu là một ký tự điều khiển thì kết thúc chương trình* // (ko hĩu chỗ này , kí tự đìu khiển là gì hì hì hì , mới học nên còn gà lắm )


```
#include <iostream.h>
void main ()
{
	char x;
	do {
		cout << "Nhap 1 ki tu : "; cin >> x;
		if (x >= 'a' && x <= 'z')
			cout << "Chuyen doi ki tu : " << char (x-'a'+'A') << endl;
		else if (x >= 'A' && x <= 'Z')
			cout << "Chuyen doi ki tu : " << char (x-'A'+'a') << endl;
		else
			cout << "Chuyen doi ki tu : " << x << endl;
	} while (x != 'z');
}
```

----------


## clean190914

*32 .Viết chương trình nhập vào N số nguyên, đếm xem có bao nhiêu số âm, bao nhiêu số dương và bao nhiêu số không.
Đây là code giải của mình:
*


```
#include<iostream>
using namespace std;
int main()
{
    int n;
    cout<<" nhap vao so phan tu"<<endl;
    cin>>n;
    int a[n];
    for(int i=0;i<n;i++)
    {
            cout<<"a["<<i<<"]=";
            cin>>a[i];
    }
    int x=0,y=0,z=0;
    for(int i=0;i<n;i++)
    {
            if(a[i]<0) x++;
            if(a[i]==0) y++;
            if(a[i]>0) z++;
    }
    cout<<" so phan tu am la: "<<x<<endl;
    cout<<" so phan tu bang 0 la: "<<y<<endl;
    cout<<" so phan tu duong la: "<<z<<endl;
    system("pause");
}
```

----------


## hajdajgja

*Bài 31:Viết chương trình nhập vào x, n tính:*
- sprt(x + sqrt(x + (sqrt(x))) (n dấu căn)
Đây là code giải của mình:



```
#include<iostream>
#include<math.h>
using namespace std;
double can_bac_2(double x,int n)
{
    if(n==1) return sqrt(x);
    if(n>1) return sqrt(x+can_bac_2(x,n-1));
}
int main()
{
    double x;
    cout<<"nhap vao so thuc x=";cin>>x;
    int n;
    cout<<"nhap vao so nguyen n=";cin>>n;
    double r;
    if(n>=1&&x>=0)r=can_bac_2(x,n);
    cout<<"bieu thuc can tim co gia tri bang "<<endl;
    cout<<r<<endl;
    system("pause");
}
```

----------


## seodienlanh

*15.Viết chương trình tính x^n với x, n được nhập vào từ bàn phím.*
Cách 1 : dùng thư viện <math.h>


```
#include <conio.h>
#include <stdio.h>
#include <math.h>
void main ()
{
	int x , n;
	printf ("Nhap he so x : "); scanf ("%d" , &x);
	printf ("Nhap so mu n : "); scanf ("%d" , &n);
	if (x == 0)
		printf ("Ket qua = 0");
	else if (n < 0)
		printf ("Ket qua = %2.3f " , 1/pow(x , -n));
	else
		printf ("Ket qua = %2.0f " , pow(x , n));
	getch();
}
```

Cách 2 :


```
#include <conio.h>
#include <stdio.h>
float Mu (float x , int n);
float Mu (float x , int n)
{
	if (n == 0)
		return 1;
	if (n < 0)
		return Mu (x , n+1) * 1/x;
	return Mu (x , n-1) * x;
}
void main ()
{
	float x;
	int n;
	printf ("Nhap he so x : "); scanf ("%f" , &x);
	printf ("Nhap so mu n : "); scanf ("%d" , &n);
	printf ("Ket qua  = %5.3f " , Mu(x , n));
	getch();
}
```

----------


## pingmax

*16.Viết chương trình nhập vào 1 số từ 0 đến 9. In ra chữ số tương ứng. Ví dụ: nhập vào số 5, in ra "Năm".*


```
#include <conio.h>
#include <stdio.h>
#include <string.h>
void main ()
{
	int n;
	do {
	printf ("Nhap vao 1 so can in (0 => 9) : "); scanf ("%d" , &n);
	} while ( n < 0 || n > 9);
	char* s[] = {"Khong" , "Mot", "Hai" , "Ba" , "Bon" , "Nam" , 
						"Sau" , "Bay" , "Tam" , "Chin"};
	printf ("Ket qua : %s" , s[n]);
	getch();
}
```

*17.Viết chương trình phân tích một số nguyên N thành tích của các thừa số nguyên tố.*


```
#include <conio.h>
#include <stdio.h>
void main ()
{
	int n , i =2;
	do {
		printf ("Nhap vao so can tinh : " ); scanf ("%d" , &n);
	} while (n < 2);
	printf ("%d = " , n);
	while (n>1)
	{
		int dem=0;
		while (n%i==0)
		{
			dem++;
			n/=i;
		}
		if (dem>0)
		{
			printf ("%d" , i);
			if (dem>1)
				printf ("%c%d" , '^' , dem);
			if (n>1)
				printf ("%c" , '*');
		}
		i++;
	}
	getch();
}
```

----------


## xomthulo

*18.Viết chương trình lặp lại nhiều lần công việc nhập một ký tự và in ra mã ASCII của ký tự đó, khi nào nhập số 0 thì dừng.*


```
#include <iostream.h>
void main ()
{
	char n;
	do {
		cout << "Nhap vao 1 ki tu : "; cin >> n;
		cout << "Ma ASCII la " << n+0 << endl;
	} while (n != '0');
}
```

*22.Viết chương trình tìm các số nguyên gồm 3 chữ số sao cho tích của 3 chữ số bằng tổng 3 chữ số. Ví dụ: 1*2*3 = 1+2+3.*


```
#include <conio.h>
#include <stdio.h>
void main ()
{
	printf ("Ket qua la : 
");
	for (int n = 100 ; n < 1000 ; n++)
	{
		int a = n/100 , b = n/10%10 , c = n%10;
		if ((a+b+c) == (a*b*c))
			printf ("%d \t" , n);
	}
	getch();
}
```

----------


## nguyenlan

*31.Viết chương trình nhập vào x, n tính:*
*- 1 + x/2 + ... x^n / (x+1)*
chẳng hĩu nổi cái đề nên viết đại , chắc sai. Đề nghị chủ topic cho ví dụ 1 số và kết quả , mấy cái này sai 1 cái là đi cả bài .


```
#include <conio.h>
#include <stdio.h>
#include <math.h>
void main ()
{
	int x , n;
	printf ("Nhap x : "); scanf ("%d" , &x);
	printf ("Nhap n : "); scanf ("%d" , &n);
	float sum = 1;
	for (int i = 1; i <= n ; i++)
		sum += pow(x , i)/(x+1);
	printf ("Ket qua = %5.3f" , sum);
	getch();
}
```

----------


## hongson1992

*3.Viết chương trình nhập vào một số nguyên rồi in ra tất cả các ước số của số đó.*


```
#include <conio.h>
#include <stdio.h>
void main ()
{
	int n;
	do {
		printf ("Nhap so can tinh : "); scanf ("%d" , &n);
	} while (n == 0);
	printf ("Ket qua : 
");
	for (int i = 1 ; i <= n; i++)
	{
		if (n%i == 0)
			printf ("%d \t" , i);
	}
	getch();
}
```

*27.Viết chương trình in ra bảng cửu chương*


```
#include <conio.h>
#include <stdio.h>
void main ()
{
	for (int i = 1 ; i < 10 ; i++)
	{
		for (int j = 1 ; j < 10 ; j++)
		{
			printf ("%d%c%d=%d\t" , j,'*',i,i*j);
		}
		printf ("
");
	}
}
```

----------


## mcqueen

*24.Viết chương trình tính tổ hợp N chập K (với K <= N)
C=((N-k+1) * (N-k+2)*…N)/1*2*3*…*k*

Giải theo công thức cổ điển mà lớp 12 học


```
#include <conio.h>
#include <stdio.h>
int GiaiThua (int n)
{
	if (n == 0)
		return 1;
	else
		return GiaiThua (n-1) * n;
}
void main ()
{
	int n , k;
	do {
		printf ("Nhap n : "); scanf ("%d" , &n);
		printf ("Nhap k : "); scanf ("%d" , &k);
	}
	while (k > n);
	int c;
	c = GiaiThua (n)/(GiaiThua(n-k)*GiaiThua(k));
	printf ("Ket qua = %d" , c);
	getch();
}
```

----------


## fantasysl06

*23.Viết chương trình tìm các số nguyên a, b, c, d khác nhau trong khoảng từ 0 tới 10 thỏa mãn điều kiện a*d*d = b*c*c*c*


```
#include <conio.h>
#include <stdio.h>
void main ()
{
	int a , b , c , d;
	for (a = 1 ; a <= 10 ; a++)
		for (b = 1 ; b <= 10 ; b++)
			for (c = 1 ; c <= 10 ; c++)
				for (d =1 ; d < 10 ; d++)
				{
					if ((a*d*d) == (b*c*c*c))
					{
						printf ("a = %d , b = %d , c = %d , d = %d 
" , a , b ,c ,d);
					}
				}
}
```

dòng bị mất:
*printf ("a = %d , b = %d , c = %d , d = %d 
", a , b ,c ,d);*

----------


## hvcuong

*20.Viết chương trình in lá cờ nước Mỹ.*
hahahah đây hông bít phải hình lá cờ nước Mỹ hông nữa , Obama nhìn thấy chắc xĩu hí hí hí


```
#include <stdio.h>
#include <conio.h>
void main ()
{
	int n , m;
	printf ("Nhap chieu rong : "); scanf ("%d" , &n);
	printf ("Nhap chieu cao : "); scanf ("%d" , &m);
	for (int i = 1 ; i <= m ; i++)
	{
		for (int j = 1 ; j <= n ; j++)
		{
			if (i == 1 || i == m || j == 1 || j == n)
				printf ("%c" , '+');
			else if (i <= (m/2)+1 && j <= (n/2)+1)
				printf ("%c" , '*');
			else
				printf (" ");
		}
		printf ("
");
	}
}
```

----------


## tonyteo

*14.Viết chương trình tính giá trị của đa thức
Pn = anxn + an-1xn-1 + … + a1x1 + a0*


```
#include <conio.h>
#include <stdio.h>
#include <math.h>
void main ()
{
	float a[100];
	int n , i , x;
	printf ("Nhap bac cua da thuc : "); scanf ("%d" , &n);
	// ------- Nhap cac he so cua da thuc -------
	for (i = n ; i >=0 ; i--)
	{
		printf ("Nhap he so a = ");
		scanf ("%f" , &a[i]);
	}
	//  ------- In da thuc ------
	printf ("Da thuc cua ban la :
");
	for (i = n ; i > 0 ; i--)
	{
		if (a[i] !=  0)
			printf ("%2.fx^%d + ", a[i] , i);
	}
	printf ("%2.f
" , a[0]);
	// ------ bat dau tinh gia tri cua da thuc ---
	printf ("Ban muon tinh gia tri cua da thuc tai x = "); scanf ("%d" , &x);
	float ketqua = 0;
	for (i = 0 ; i <= n ; i++)
	{
		ketqua += a[i] * pow(x , i);
	}
	printf ("Gia tri cua da thuc la : %5.2f" , ketqua);
	getch();
}
```

----------


## paliauthentic

Chỉ còn bài *13 , 21 , 28* thôi , cố lên nào bà con :wacko:
bài 21 cái đề vô duyên ghê áh , ai giải thích dùm đi [IMG]data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAA  l21bKAAAAA1BMVEXh5PJm+yKVAAAAAXRSTlMAQObYZgAAAApJR  EFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=[/IMG] , đọc thấy in ra kết quả lun đâu cần lặp :1eye

----------


## kenquay1

cám ơn bạn nhièu nhé ,nhờ bài này mà mình hiểu hơn 1 chút [IMG]data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAA  l21bKAAAAA1BMVEXh5PJm+yKVAAAAAXRSTlMAQObYZgAAAApJR  EFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=[/IMG]

----------


## quynhhoa

]*17.Viết chương trình phân tích một số nguyên N thành tích của các thừa số nguyên tố.*
[

sao tớ chẳng hiểu đề nhỉ..
noi rõ, lấy ví dụ giúp tớ nhé.!

----------


## dienlanhhongphuc

*13.**Viết chương trình tính số hạng thứ n của dãy Fibonaci.
*Dãy Fibonaci là dãy số gồm các số hạng p(n) với:
p(n) = p(n-1) + p(n-2) với n>2 và p(1) = p(2) = 1
Dãy Fibonaci sẽ là: 1 1 2 3 5 8 13 21 34 55 89 144…


```
#include <stdio.h>
#include <conio.h>
void main()
{
     int n,a,a1=1,a2=1,a3;
     printf("
 Nhap so n: ");
     scanf("%d",&n);
      for(a=3;a<=n;a++)
         {
           a3=a1+a2;
           a1=a2;
           a2=a3;
         }
  printf("
 So %d trong Day Fibonaci la:%d",n,a3);
 getch();
}
```

----------


## ndt2802

*21.Viết chương trình tính dân số của một thành phố sau 10 năm nữa, biết rằng dân số hiện nay là 6.000.000, tỉ lệ tăng dâ*

:whistling: người ---> lấy số nguyên


```
#include <conio.h>
#include <stdio.h>
void main()
{
 long i,d1=0,d2;
  printf("

--Voi dan so ban dau 6000000 ,ty le tang 1.8%--

");
 for(i=1;i<=10;i++)
  {
   d1=(d1+6000000)*1.8/float(100);
  }
  d2=d1+6000000;
  printf("
 Sau 10 nam dan so se la:%ld",d2);
getch();
}
```

----------


## baoquyen3005

> *13.**Viết chương trình tính số hạng thứ n của dãy Fibonaci.
> *Dãy Fibonaci là dãy số gồm các số hạng p(n) với:
> p(n) = p(n-1) + p(n-2) với n>2 và p(1) = p(2) = 1
> Dãy Fibonaci sẽ là: 1 1 2 3 5 8 13 21 34 55 89 144…
> 
> 
> ```
> #include <stdio.h>
> #include <conio.h>
> ...


 bài này đang còn thiếu mình xin chỉnh sửa 1 tý cho đầy đủ


```
#include <stdio.h>
#include <conio.h>
void main()
{
     int n,a,a1=1,a2=1,a3;
     printf("
 Nhap so n: ");
     scanf("%d",&n);
	 if(n<3)
	{ a3=1;
		 printf("
 so %d trong day fibonaci la %d",n,a3);}

		 else
	{for(a=3;a<=n;a++)
         {
           a3=a1+a2;
           a1=a2;
           a2=a3;
         }
  printf("
 So %d trong Day Fibonaci la:%d",n,a3);}
 getch();
}
```

bạn nào giúp mình giải bài in ra day số fibonaci này với
Dãy Fibonaci sẽ là: 1 1 2 3 5 8 13 21 34 55 89 144

----------


## hungcnx1989

Bang ma ASCII
#include <stdio.h>
#include <conio.h>

void main()
{
int i, j;

clrscr();
printf(" ");
for (j=0; j<16; j++)
printf("%3d", j);
for (i=2; i<16; i++)
for (j=0; j<16; j++)
{
if (j == 0)
printf("
%2d ", i);
printf(" %c", i*16+j);
}
getch();
}

----------


## seobravolaw

*minh` co' 1 bai` tap. phan` file muon hoi? cac' ban. mong dc giup do...*

Cai`dat thuat toan tim bao dong' cua? thuoc. tinh' trong cac' phu. thuoc. ham`
Yeu cau`:
Input: file van ban *.txt(* la` ma~ sinh vien) voi quy tac' to? chuc' nhu sau:
_dong` dau` la` so' n(so' phu. thuoc. ham`)
_n dong` tiep' theo moi~ dong` chua' 1 fu. thuoc. ham` theo quy tac' x->y1,y2,..,yn
Output: file van ban *out.dat chua' 
Voi' moi. x thiuoc lelf hand side tim` x+
Voi' moi~ bo^. x+ duoc. luu tru~ tre^n 1 dong`
Vi du:
0987465.txt 0987465out.dat
A->B,C BD(A)={A,B,C,D,E,G}
B->D,E BD(B)={B,D,E,G}
D->G BD(D)={D,G}
H->F BD(H)={H,F}
Minh nghi chac nhieu ban. lam` dc. Vay. nen hi vong moi nguoi co the giup minh trong thoi gian som nhat. tks!!!

----------

