Nhập vào một số và tìm phần tử chia hết cho 3 trong số đó
Bài tập lập trình

Danh sách bài học
Nhập vào một số và tìm phần tử chia hết cho 3 trong số đó
Nội dung bài viết Học nhanh
Yêu cầu bài toán
Nhập vào một số và tìm phần tử chia hết cho 3 trong số đó.
Ví dụ:
Int a = 987654;
Các phần tử chia hết cho 3:
- 9
- 6
Yêu cầu: Viết chương trình với mỗi trường hợp sử dụng vòng lặp FOR , WHILE và DO WHILE.
Mục tiêu
Làm quen với Cấu trúc lặp trong C#.
Hướng dẫn
Bài tập mang tính tham khảo, hỗ trợ các bạn làm quen và luyện tập với các bài toán lập trình từ cơ bản đến nâng cao trong C#.
Để đảm bảo kiến thức về bài tập này, bạn nên tham khảo bài:
Bài tập sẽ được hướng dẫn chi tiết qua các Live Stream tương tác hằng ngày tại Channel
Kteam khuyến khích các bạn tự phân tích đề bài > tự giải bài toán > debug để kiểm tra kết quả và fix lỗi trong quá trình giải. Sau đó, bạn có thể tham khảo source code mẫu hoặc video hướng dẫn để hoàn chỉnh bài tập.
Để được hỗ trợ tốt nhất, bạn có thể đặt câu hỏi ở phần BÌNH LUẬN bên dưới bài viết hoặc ở mục HỎI & ĐÁP.
Kết luận
Bạn có thể củng cố kiến thức C# từ các khóa học tại LẬP TRÌNH C#.NET với rất nhiều khóa học từ cơ bản đến nâng cao, kèm theo các dự án thực tế như làm game, làm phần mềm quản lý.
Hoặc tìm hiểu thêm các bài tập khác trong khóa BÀI TẬP LẬP TRÌNH.
Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của bạn để phát triển bài viết tốt hơn. Đừng quên: “ Luyện tập – Thử thách – Không ngại khó!”
Tải xuống
Tài liệu
Nhằm phục vụ mục đích học tập Offline của cộng đồng, Kteam hỗ trợ tính năng lưu trữ nội dung bài học Nhập vào một số và tìm phần tử chia hết cho 3 trong số đó dưới dạng file PDF trong link bên dưới.
Ngoài ra, bạn cũng có thể tìm thấy các tài liệu được đóng góp từ cộng đồng ở mục TÀI LIỆU trên thư viện Howkteam.com
Đừng quên like và share để ủng hộ Kteam và tác giả nhé!

Thảo luận
Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.
using System;
using System.Collections.Generic;
using System.Linq;
namespace BaiTap
{
class Program
{
static void Main(string[] args)
{ //Tạo vòng lặp cho phần mềm
while (true)
{
try
{
//nhập số để kiểm tra
Console.Write("Input number to check: ");
int a = Int32.Parse(Console.ReadLine());
FindNumber(a);
}
catch (FormatException)
{ //Khi giá trị nhập không phải số
Console.WriteLine("Input number only!");
}
catch (OverflowException)
{ // khi số nhập không trong khoảng
// số nguyên có dấu có giá trị từ -2,147,483,647 đến 2,147,483,647
Console.WriteLine("Number is too big");
}
}
}
public static void FindNumber(int a)
{
//Sử dụng HashSet để loại bỏ các số giống nhau
HashSet<int> result = new HashSet<int>();
int temp = 0;
while (a != 0)
{
//Lấy từng số từ phải qua trái
temp = a % 10;
//Nếu số chia hết cho 3 thì lưu vào HashSet
if (temp % 3 == 0) result.Add(temp);
//Giảm dần số đang kiểm tra
a = a / 10;
}
//In kết quả
if(result!=null && result.Count != 0)
{
Console.WriteLine("Number(s) divisible by 3 is(are): ");
foreach (var item in result)
{
Console.WriteLine(item);
}
}
else
{
Console.WriteLine("There is no number that divisible by 3 in number sequence!");
}
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
namespace BaiTap
{
class Program
{
static void Main(string[] args)
{ //Tạo vòng lặp cho phần mềm
while (true)
{
try
{
//nhập số để kiểm tra
Console.Write("Input number to check: ");
int a = Int32.Parse(Console.ReadLine());
FindNumber(a);
}
catch (FormatException)
{ //Khi giá trị nhập không phải số
Console.WriteLine("Input number only!");
}
catch (OverflowException)
{ // khi số nhập không trong khoảng
// số nguyên có dấu có giá trị từ -2,147,483,647 đến 2,147,483,647
Console.WriteLine("Number is too big");
}
}
}
public static void FindNumber(int a)
{
//Sử dụng HashSet để loại bỏ các số giống nhau
HashSet<int> result = new HashSet<int>();
int temp = 0;
while (a != 0)
{
//Lấy từng số từ phải qua trái
temp = a % 10;
//Nếu số chia hết cho 3 thì lưu vào HashSet
if (temp % 3 == 0) result.Add(temp);
//Giảm dần số đang kiểm tra
a = a / 10;
}
//In kết quả
if(result!=null && result.Count != 0)
{
Console.WriteLine("Number(s) divisible by 3 is(are): ");
foreach (var item in result)
{
Console.WriteLine(item);
}
}
else
{
Console.WriteLine("There is no number that divisible by 3 in number sequence!");
}
}
}
}
using System;
using System.Text;
namespace Bài_lấy_các_số_chia_hết_cho_3_trong_dãy
{
class Program
{
static void Main(string[] args)
{
Console.OutputEncoding = Encoding.UTF8;
Console.Write("Vui lòng nhập dãy số: ");
int a = Convert.ToInt32(Console.ReadLine());
int[] A = new int[a];
int b = 0;
for (int t = a;t != 0 ;t /= 10 )
{
int s = t % 10;
if (s % 3 == 0)
{
A[b] = s;
b++;
}
}
if (A[0] == 0)
{
Console.WriteLine("Không có số nào chia hết cho 3");
}
else
{
Console.Write("Các số chia hết cho 3 trong dãy gồm: ");
}
// xóa các phần tử giống nhau
for (b = 0;b < a;b++)
{
int c = b + 1;
for (; c < a; c++)
{
if (A[b] == A[c])
{
A[c] = 0;
}
}
if (A[b] != 0)
{
Console.Write("{0} ", A[b]);
}
}
Console.ReadKey();
}
}
}
using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CSharp_Bai3
{
class Program
{
static void Main(string[] agrs)
{
Console.OutputEncoding = Encoding.UTF8;
int soGoc;
int soNhap;
int value;
int i = 0;
soNhap = int.Parse(Console.ReadLine());
soGoc = soNhap;
while (soNhap != 0)
{
value = soNhap % 10;
soNhap /= 10;
if (value % 3 == 0)
{
Console.WriteLine("Trong {0} co phan tu {1} chia het cho 3 ", soGoc, value);
i++;
}
}
if(i == 0)
{
Console.WriteLine("Khong co phan tu nao chia het cho 3");
}
Console.ReadKey();
}
}
}