Tìm ước Số Lẻ Lớn Nhất Của Một Số Trong C - Lập Trình Từ Đầu
Có thể bạn quan tâm
Bài tập cơ bản này ta có thể có nhiều hướng giải quyết khác nhau, như sử dụng vòng lặp for , sử dụng vòng lặp while, …
Đầu vào sẽ là một biến nguyên dương N và yêu cầu của bài toán là tìm ước số lẻ lớn nhất của số nguyên dương N.
2. Lời giảiĐể giải được bài tập tìm ước số lẻ lớn nhất của N (khác N) bạn phải có kiến thức về toán học cơ bản, có kiến thức về lập trình C cơ bản và cách sử dụng vòng lặp.
Các bước thực hiện bài toán như sau:
Bước 1: Ta khai báo biến N để gán giá trị của N, biến int max=1 để thể hiện giá trị lớn nhất
Bước 2: Sử dụng hàm for để bắt đầu duyệt từ 1 đến N-1, mỗi lần i sẽ tăng lên 1
Bước 3: Sử dụng câu điều kiện if trong vòng for để kiểm tra từ phần tử N có chia hết cho phần tử i không và biến i có phải là số lẻ hay không. Nếu có ta thêm điều kiện if nếu i>max thì gán i=max
Bước 4: In biến max ra màn hình.
Chương trình giải bài tập tìm ước số lẻ lớn nhất của số nguyên dương N như sau:
#include<stdio.h> int main() { //khai bao bien N int N; //khai bao bien max int max=1; do { // nhap du lieu gan vao bien N printf("\nNhap N = "); scanf("%d", &N); if(N <= 0)//neu N<=0 se hien thi cau lenh { printf("\n N phai > 0. Xin nhap lai !"); } }while(N <= 0);//dieu kiên N > 0 neu N<=0 yeu cau nhap lai //vong lap for bat dau tu i = 1 và ket thuc khi i = N-1, moi lan lap i tang len 1 for(int i = 1; i <=N-1; i++) { if(N%i==0 && i%2==1)//kiem tra uoc le cua N { if(i>max)//neu i>max thuc hien cau lenh { max=i;//gan max = i } } } //in max ra man hinh printf("\nUoc so le lon nhat la: %d", max); }Ví dụ tôi nhập N=10
Kết quả:
| Nhap N = 10 Uoc so le lon nhat la: 5 |
Để thực hiện giải bài tập tìm ước số lẻ lớn nhất của số nguyên dương N bạn đọc cần phải có kiến thức cơ bản về ngôn ngữ lập trình C, bạn cần nắm vững cách nhập xuất căn bản, các cách sử dụng vòng lặp trong C và các phép toán học cơ bản .
Bài tập trên có thể giải bằng các khác là sử dụng vòng lặp while.
Chương trình như sau:
#include<stdio.h> int main() { //khai bao bien N int N; //khai bao bien max int max=1; do { // nhap du lieu gan vao bien N printf("\nNhap N = "); scanf("%d", &N); if(N <= 0)//neu N<=0 se hien thi cau lenh { printf("\n N phai > 0. Xin nhap lai !"); } }while(N <= 0);//dieu kiên N > 0 neu N<=0 yeu cau nhap lai int i=1;//i bat dau tu 1 while(i<=N-1)//dieu kien dung khi i<=N-1 { if(N%i==0 && i%2==1)//kiem tra uoc le cua N { if(i>max)//neu i > max thuc hien cau lenh { max=i;//gan max=i } } i++; //moi lan lap i tang 1 } //in max ra man hinh printf("Uoc so le lon nhat la:%d \n",max); }Ví dụ tôi nhập N=30
Kết quả:
| Nhap N = 30 Uoc so le lon nhat la:15 |
Từ khóa » Tìm Số Lẻ Lớn Nhất Trong Mảng C
-
Viết Hàm Tìm Số Lẻ Lớn Nhất Có Trong Mảng | How Kteam
-
Tìm Giá Trị Có Toàn Chữ Số Lẻ Và Có Giá Trị Lớn Nhất Trong Mảng
-
Tìm Số Toàn Số Lẻ Lớn Nhất Trong Mảng - Cộng đồng C Việt
-
Số Lẻ Lớn Nhất Mảng 1 Chiều - IT's World
-
Tìm ước Số Lẻ Lớn Nhất Của Số Nguyên Dương N Bằng C / C++
-
Tìm Vị Trí Số Dương Lẻ Lớn Nhất Trong Mảng 1 Chiều
-
Tìm Số Chẵn Lớn Nhất/nhỏ Nhất Trong Mảng
-
Tìm Phần Tử Lớn Nhất Trong Mảng C
-
[C] 167 Tìm Giá Trị Toàn Là Chữ Số Lẻ Và Lớn Nhất Trong Những Số Thỏa ...
-
Tìm Phần Tử Có Giá Trị Lớn Nhất Và Có Chứa Toàn Chữ Số Lẻ | VnCoding
-
Tìm ước Số Lẻ Lớn Nhất Của Số Nguyên Dương N Bằng C / C++