Lập trình C: Bài tập phần vòng lặp (Loop)


Đăng ký nhận thông báo về những video mới nhất

Bài tập 1:

Hãy nhập vào một số N với điều kiện 0<N<100. Yêu cầu người dùng nhập cho đến khi thỏa mãn điều kiện.

Bài tập 2:

Cho dãy số vô hạn: 50, 51, 53, 56, 60, ... Hãy in ra số thứ 2019.

Bài tập 3:

1. In ra các số từ 1 đến 100.

2. In ra các số từ 100 đến 1.

3. In ra các số từ 1 đến 100 mà chia hết cho 3.

4. In ra các số từ 99 đến 1 mà chia hết cho 7.

5. Bạn hãy viết chương trình tính tổng của 50 số 1, 2, 3, ..., 50.

6. Bạn hãy viết chương trình tính tổng của 50 số 50, 49, 48, ..., 1.

7. Bạn hãy viết chương trình tình tổng của 50 số chẵn bắt đầu từ 2.

8. Bạn hãy viết chương trình tính tổng của 20 số 5, 10, 15, ..., 100.

9. Bạn hãy viết chương trình tính n! (n!=1*2*3*...*n).

10. Bạn hãy nhập vào một số N bất kỳ và kiểm tra xem N có phải số nguyên tố hay không? (Số nguyên tố là một số nguyên dương lớn hơn 1 và chỉ chia hết cho 1 và chính nó, ví dụ: 2, 3, 5, 7, 11, ...)

11. Bạn hãy nhập vào một số N bất kỳ và kiểm tra xem N có phải số hoàn hảo hay không? (Số hoàn hảo là số nguyên dương có tổng các ước số nhỏ hơn nó bằng chính nó, ví dụ: 1+2+3 = 6, vậy 6 là số hoàn hảo)

12. Bạn hãy viết chương trình in ra 10 số đầu tiên của dãy số Fibonacci. Hãy cho biết số thứ 13 có giá trị bao nhiêu?

13. Viết chương trình nhập vào một số nguyên dương N và thực hiện:

  • Số nguyên dương N có bao nhiêu chữ số?
  • Tính tổng các chữ số của N.
  • In ra chữ số lớn nhất của N.

14. Cho một dãy số vô hạn như sau: 123456789101112131415.... Hãy cho biết chữ số thứ n (n nhập vào từ bàn phím) của dãy số có giá trị bao nhiêu?

15. Hãy nhập vào một số nguyên dương N và phân tích N thành các thừa số nguyên tố.

16. Cho hai số A và B là hai số nguyên dương và A phải nhỏ hơn B (0 < A < B < 100). Hãy viết chương trình cho phép nhập hai số A và B đó từ bàn phím và thực hiện:

  • Tìm các số nguyên tố từ A đến B.
  • Tìm ước chung lớn nhất của A và B.

Bài tập 4:

Bạn hãy viết chương trình giải phương trình bậc 2 ax2+bx+c=0 dạng menu như sau:

1. Nhập 3 hệ số a, b, c

2. Xác định nghiệm

3. Thoát

Yêu cầu cụ thể:

Khi người dùng chọn 1 thì yêu cầu người dùng nhập vào từ bàn phím 3 hệ số a, b và c.

Khi người dùng chọn 2 thì bạn hãy xác định nghiệm của phương trình dựa trên các hệ số đã nhập từ mục 1.

Khi người dùng chọn 3 thì bạn hãy cho thoát khỏi trương trình.

Nếu người dùng không chọn mục 1, 2 hay 3 thì yêu cầu người dùng chọn cho đúng.

Bài tập 5:

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 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

5. Viết chương trình tính tổng bình phương các số lẻ từ 1 đến N.

6. Viết chương trình tìm USCLN, BSCNN của 2 số nguyên dương.

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

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

9. 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.

10. 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".

11. 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ố.

12. 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% .

13. 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.

14. 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.

15. 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.

16. Viết chương trình giải bài toán cổ điển sau:

Vừa gà vừa chó

Bó lại cho tròn,

Ba mươi sáu con

100 chân chẵn

Hỏi có bao nhiêu gà, bao nhiêu chó

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

18. 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.

19. 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.

20. 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/(n+1)

21. Viết chương trình xác định tất cả các cặp số nguyên dương (A, B) sao cho A<B<1000 và (A2+B2+1)/AB là một số nguyên.

22. Viết chương trình trò chơi Hi-Lo. Máy tính nghĩ ra một số nguyên dương bất kỳ (có thể cho một giới hạn là số phải nhỏ hơn MAX_INT). Người chơi sẽ đoán một số. Máy tính sẽ trả lời: "Số lớn hơn số phải tìm", "Số nhỏ hơn số phải tìm" hoặc "Chính xác, bạn đã thắng". Sau khi đã đoán đúng số cần tìm, máy tính sẽ tính và xuất ra số lần đoán và dừng chương trình.

23. Nhập một số nguyên dương vào từ bàn phím, sau đó in ra màn hình tất cả các số nguyên tố nằm trong khoảng từ 0 cho đến số nguyên dương đó.

24. Tìm tất cả các phương án kết hợp 3 loại giấy bạc 1000đ, 2000đ, 5000đ với nhau để cho ra số tiền N đ, với N nhập từ bàn phím. N>=1000đ và N%1000==0. Đưa ra phương án tối ưu ứng với số tờ tiền là ít nhất.

25. Tính tổng của các chữ số của một số tự nhiên n.

26. Hiển thị các chữ số của một số tự nhiên n theo thứ tự từ phải sang trái.

27. Tìm ký số lớn nhất của một số tự nhiên n.

Bài tập 6:

Bạn hãy dùng vòng lặp (Loop) viết các chương trình in ra các hình dạng như sau:

1. Hình dạng 1:

*
* *
* * *
* * * *
* * * * *

2. Hình dạng 2:

* * * * *
* * * *
* * *
* *
*

3. Hình dạng 3:

            *
         * *
      * * *
   * * * *
* * * * *

4. Hình dạng 4:

* * * * *
   * * * *
      * * *
         * *
            *

5. Hình dạng 5:

            *
         * * *
      * * * * *
   * * * * * * *
* * * * * * * * *

6. Hình dạng 6:

* * * * * * * * *
   * * * * * * *
      * * * * *
         * * *
            *

7. Hình dạng 7:

* * * * * * * * *
   * * * * * * *
      * * * * *
         * * *
            *
         * * *
      * * * * *
   * * * * * * *
* * * * * * * * *

Bài tập 7:

Discussions

It has been known that 2019/12/31 was Tuesday. Please write a project to find what day of a week of Tom’s birthday.

Sunday is represented by a value of 0, Monday is represented by a value of 1, Tuesday is represented by a value of 2, Wednesday is represented by a value of 3, Thursday by a value of 4, a Friday by a value of 5, and a Saturday by a value of 6.

Input Format: A single line contains 3 space-separated positive integers, representing the year, month and day when Tom was born

Constraints: The inputs are valid date from 1950-01-01 to 2020-12-31

Output Format: A single number from 0 to 6, representing the day of week of Tom's birthday.

Sample Input 0

1950 1 1
Sample Output 0

0

Sample Input 1

2020 2 29
Sample Output 1

6

 

Bài tập 8: Xâu bình đẳng

Xâu các ký tự 0 và 1 được gọi là bình đẳng nếu có độ dài chẵn và số lượng ký tự 1 ở vị trí chẵn bằng số lượng 1 ở vị trí lẻ. Ví dụ, xâu '011011' là xâu bình đẳng, cònxâu '011101' - không bình đẳng.

Yêu cầu: Cho xâu các ký tự 0, 1 độ dài lẻ và không vượt quá 200001. Hãy xác định vị trí ký tự cần xóa để xâu trở thành bình đẳng. Nếu không có cách xóa thì đưa ra số 0. Nếu có nhiều cách xóa thì đưa ra cách xóa với số thứ tự vị trí cần xóa là nhỏ nhất.

Dữ liệu vào: xâu cần xử lý.

Kết quả: Đưa ra một số nguyên - vị trí cần xóa hay số 0.

Ví dụ:

Dữ liệu vào: 0111011

Kết quả: 2

50% test xâu có độ dài không vượt quá 1000.

Bài tập 9

Nhập từ bàn phím tuổi cha và con( tuổi cha hơn tuổi con ít nhất là 25). Đưa ra màn hình bao nhiêu năm nữa thì tuổi cha gấp đôi tuổi con.

Bài tập 10

Ở 1 tòa nhà 100 tầng, coi như các quả trứng là như nhau:

  • Trứng sẽ vỡ nếu bị thả từ tầng >= N.
  • Trứng không vỡ nếu bị thả từ tầng < N.

Bạn có 2 quả trứng, hãy nêu 1 cách giải để tìm N với số lần thả trứng ít nhất.

Bài tập 11

Problem Statement:

Given is a positive integer N. How many tuples (A,B,C) of positive integers satisfy A×B+C=N?

Constraints:

2≤N≤106

All values in input are integers.

Input;

Input is given from Standard Input in the following format:

N

Output:

Print the answer.

---------------------------------------------

Sample Input 1:

3

Sample Output 1:

3

There are 3 tuples of integers that satisfy A×B+C=3A×B+C=3: (A,B,C) = (1,1,2), (1,2,1), (2,1,1).

Sample Input 2:

100

Sample Output 2:

473

Sample Input 3:

1000000

Sample Output 3:

13969985

Bài tập 12: Bài toán CÀ RI

Bạn đang dự một bữa tiệc tối thú vị với những người bạn thân, cố gắng thưởng thức cà ri rất nóng. Trên đĩa của bạn là rất nhiều cà ri, cơm và rau. Bạn thấy khó ăn vì món cà ri quá nóng, cơm quá dẻo và bạn không thích rau.

Để thấy dễ ăn hơn, bạn chọn cách ăn như sau: mỗi miếng gồm 2 muỗng chứa hai món khác nhau. Ví dụ, miếng đầu tiên có thể bao gồm một muỗng cà ri với một muỗng cơm. Miếng tiếp theo có thể bao gồm một muồng cơm với một muỗng rau. Bạn không thể ăn cả ba muỗng cùng một lúc, vì thìa của bạn quá nhỏ.

Vấn đề là bạn có thể không ăn hết đồ ăn của bạn. Tại bữa tiệc tối cuồi tuần trước, bạn bắt đầu bằng cách ăn tất cả cà ri và cơm, kết quả là bạn không thể ăn hết rau của bạn vì không còn lại gì để ăn kèm. Thật là đáng xấu hổ! Quyết không để bản thân ngượng chín người một lần nữa, bạn kéo máy tính xách tay của bạn ra khỏi túi và bí mật code bên dưới bàn, hy vọng sẽ giải quyết vấn đề một cách toàn diện.

Nhiệm vụ của bàn là tìm ra cách nào đó để ăn được càng nhiều thức ăn càng tốt.

INPUT

Một dòng ghi ba số nguyên c r v, tương ứng với số muỗng cà ri, cơm và rau trên đĩa của bạn. Bạn được đảm bảo rằng 0 <= c, r, v <= 100000.

OUTPUT

In ra một dòng duy nhất chứa các số nguyên x, y, z, trong đó:

  • X là số miếng có chứa một muỗng gạo với một muỗng rau;
  • Y là số miếng có chứa một muỗng cà ri với một muỗng rau;
  • Z là sô miếng có chứa một muỗng cà ri với một muỗng cơm.
  • Bạn phải chọn x, y, z sao cho bạn ăn được tối đa tổng số lượng muỗng. Nếu có nhiều hơn một cách để làm điều này, bất kỳ giải pháp nào cũng được chấp nhận.

Sample Input 1:

5 6 9

Sample output 1:

5 4 1

Sample input 2:

1 2 5

Sample output 2:

2 1 0

Ở ví dụ 1: Bạn có 5 muỗng cà ri, 6 muỗng cơm và 9 muỗng rau. Bạn bắt đầu bằng cách ăn 5 muỗng cơm với rau, còn lại 5, 1, 4 muỗng cà ri, cơm và rau (tương ứng). Sau đó bạn ăn 4 miếng cà ri với rau, còn lại 1, 1 và 0 muỗng cà ri, cơm và rau (tương ứng). Cuối cùng bạn ăn một miếng cà ri với cơm, và dùng hết sạch đồ ăn.

Ở ví dụ 2: Bữa ăn trong ví dụ này có 1, 2 và 5 muỗng cà ri, cơm và rau (tương ứng). Có quá nhiều rau và bạn không thể ăn hết các món. Giải pháp trên lựa chọn hai miếng cơm và rau và một miếng cà ri với rau. Theo đó, bạn ăn hết cà ri và cơm, để lại 2 muỗng rau. Không có cách nào để kết thúc bữa ăn mà để lại ít thức ăn hơn, nên đó là OUTPUT.

Bài tập 13. The Power Sum

Find the number of ways that a given integer, X, can be expressed as the sum of the Nth powers of unique, natural numbers.

For example, if X = 13 and N = 2, we have to find all combinations of unique squares adding up to 13. The only solution is 22 + 32.

Function Description

Complete the powerSum function in the editor below. It should return an integer that represents the number of possible combinations.

powerSum has the following parameter(s):

  • X: the integer to sum to
  • N: the integer power to raise numbers to

Input Format

The first line contains an integer X.
The second line contains an integer N.

Constraints

  • 1 <= X <= 100
  • 2 <= N <= 10

Output Format

Output a single integer, the number of possible combinations caclulated.

Sample Input 0

10
2

Sample Output 0

1

Explanation 0

If X = 10 and N = 2, we need to find the number of ways that 10 can be represented as the sum of squares of unique numbers.

10 = 12 + 32

This is the only way in which 10 can be expressed as the sum of unique squares.

Sample Input 1

100
2

Sample Output 1

3

Explanation 1

100 = (102) = (62 + 82) = (12 + 32 + 42 + 52 + 72)

Sample Input 2

100
3

Sample Output 2

1

Explanation 2

100 can be expressed as the sum of the cubes of 1, 2, 3, 4.
(1 + 8 + 27 + 64). There is no other way to express 100 as the sum of cubes.


Nếu bạn có điều thắc mắc, bạn hãy comment cho V1Study để được giải đáp.
Bài viết này được chia sẻ bởi LongDT. Nếu bạn muốn chia sẻ bài viết, bạn hãy Đăng ký làm thành viên!
« Prev
Next »
Copied !!!