Cho người dùng nhập vào 2 số và kiểm tra xem có số nào là số con của số còn lại không?

Bài tập lập trình

0.0 (0 đánh giá)
Tạo bởi Kteam Cập nhật lần cuối 13:02 04-04-2018 3.777 lượt xem 8 bình luận
Học nhanh

Danh sách bài học

Cho người dùng nhập vào 2 số và kiểm tra xem có số nào là số con của số còn lại không?

 

Yêu cầu bài toán

Cho người dùng nhập vào 2 số và kiểm tra xem có số nào là số con của số còn lại không?

Gợi ý:

Số con là số mà xuất hiện trong dãy số của số còn lại. ví dụ:

  • Int a = 123456;
  • Int b = 345;

Thì b là số con của a.

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

Youtube.com/Kteam

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

 

 


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ÌNH LUẬ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.

Nội dung bài viết

Tác giả

Khóa học

Bài tập lập trình

Bài tập lập trình

Đánh giá

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
ThichIT đã bình luận 13:17 14-08-2018
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _030_Tim_Tap_Con
{
    class Program
    {
        static void Main(string[] args)
        {
            #region Cho người dùng nhập vào 2 số và kiểm tra xem có số nào là số con của số còn lại không?
            Console.OutputEncoding = Encoding.UTF8;

            Console.Write("Mời Nhập Số Của Người Thứ Nhất : ");
            int One = int.Parse(Console.ReadLine());
            Console.Write("Mời Nhập Số Của Người Thứ Nhất : ");
            int Two = int.Parse(Console.ReadLine());

            int Two2 = Two;
            int One2 = One;
            int S1 = 0;
            int S2 = 0;
            int S3 = 0;

            if (One < Two) // Kiểm Tra 1 có bé hơn 2 hay ko
            {
                while (One > 0)
                {
                    int b = 0;
                    Two = Two2;
                    int PhanTu = One % 10; // Chia Ra Để Lấy Phần Dư Và So Sánh
                    S2 = S2 + 1;
                    S1 = 0;

                    //Console.WriteLine("{0} | {1}", One, PhanTu);
                    while (Two > b || Two > 0)
                    {
                        int PhanTu2 = Two % 10; // Chia Ra Để Lấy Phần Dư Và So Sánh 
                        Two = Two / 10;
                        //Console.WriteLine("{0} | {1} ", PhanTu2, PhanTu);
                        if (PhanTu == PhanTu2)
                        {
                            S1 = S1 + 1; // S1 Này Là Để Kiểm tra sau khi thoát vòng lập có lớn hơn 0 hay không , nếu lớn hơn ko có nghĩ là Tập con, nhỏ thua thì ko phải tập con và thoát
                        }
                        b++;

                    }
                    if (S1 == 0)
                    {
                        Console.WriteLine("Tạp 1 không phải là con của 2");
                        break;
                    }
                    else
                    {
                        One = One / 10;
                        S3 = S3 + 1; // S2 và S3 là để kiểm tra xem có bằng nhau hay ko với số phần tử tách ra ban đầu và số phần tử chạy hết ch trình
                    }
                }
                if (S2 == S3)
                {
                    Console.WriteLine("Tạp 1  là con của 2"); // khi giống nhau sẽ còn tập con
                }

            }
            else
            {
                while (Two > 0)
                {
                    int b = 0;
                    One = One2;
                    int PhanTu = Two % 10;
                    S2 = S2 + 1;
                    S1 = 0;

                    //Console.WriteLine("{0} | {1}", One, PhanTu);
                    while (One > b || One > 0)
                    {
                        int PhanTu2 = One % 10;
                        One = One / 10;
                        //Console.WriteLine("{0} | {1} ", PhanTu2, PhanTu);
                        if (PhanTu == PhanTu2)
                        {
                            S1 = S1 + 1;
                        }
                        b++;

                    }
                    if (S1 == 0)
                    {
                        Console.WriteLine("Tạp 2 không phải là con của 1");
                        break;
                    }
                    else
                    {
                        Two = Two / 10;
                        S3 = S3 + 1;
                    }
                }
                if (S2 == S3)
                {
                    Console.WriteLine("Tạp 2  là con của 1");
                }
            }

            Console.ReadKey();
            #endregion


        }
    }
}

 

kimanh2004793 đã bình luận 13:03 14-08-2018

Bài Của Mình Nè : 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _030_Tim_Tap_Con
{
    class Program
    {
        static void Main(string[] args)
        {
            #region Cho người dùng nhập vào 2 số và kiểm tra xem có số nào là số con của số còn lại không?
            Console.OutputEncoding = Encoding.UTF8;

            Console.Write("Mời Nhập Số Của Người Thứ Nhất : ");
            int One = int.Parse(Console.ReadLine());
            Console.Write("Mời Nhập Số Của Người Thứ Nhất : ");
            int Two = int.Parse(Console.ReadLine());

            int Two2 = Two;
            int One2 = One;
            int S1 = 0;
            int S2 = 0;
            int S3 = 0;

            if (One < Two) // Kiểm Tra 1 có bé hơn 2 hay ko
            {
                while (One > 0)
                {
                    int b = 0;
                    Two = Two2;
                    int PhanTu = One % 10; // Chia Ra Để Lấy Phần Dư Và So Sánh
                    S2 = S2 + 1;
                    S1 = 0;

                    //Console.WriteLine("{0} | {1}", One, PhanTu);
                    while (Two > b || Two > 0)
                    {
                        int PhanTu2 = Two % 10; // Chia Ra Để Lấy Phần Dư Và So Sánh 
                        Two = Two / 10;
                        //Console.WriteLine("{0} | {1} ", PhanTu2, PhanTu);
                        if (PhanTu == PhanTu2)
                        {
                            S1 = S1 + 1; // S1 Này Là Để Kiểm tra sau khi thoát vòng lập có lớn hơn 0 hay không , nếu lớn hơn ko có nghĩ là Tập con, nhỏ thua thì ko phải tập con và thoát
                        }
                        b++;

                    }
                    if (S1 == 0)
                    {
                        Console.WriteLine("Tạp 1 không phải là con của 2");
                        break;
                    }
                    else
                    {
                        One = One / 10;
                        S3 = S3 + 1; // S2 và S3 là để kiểm tra xem có bằng nhau hay ko với số phần tử tách ra ban đầu và số phần tử chạy hết ch trình
                    }
                }
                if (S2 == S3)
                {
                    Console.WriteLine("Tạp 1  là con của 2"); // khi giống nhau sẽ còn tập con
                }

            }
            else
            {
                while (Two > 0)
                {
                    int b = 0;
                    One = One2;
                    int PhanTu = Two % 10;
                    S2 = S2 + 1;
                    S1 = 0;

                    //Console.WriteLine("{0} | {1}", One, PhanTu);
                    while (One > b || One > 0)
                    {
                        int PhanTu2 = One % 10;
                        One = One / 10;
                        //Console.WriteLine("{0} | {1} ", PhanTu2, PhanTu);
                        if (PhanTu == PhanTu2)
                        {
                            S1 = S1 + 1;
                        }
                        b++;

                    }
                    if (S1 == 0)
                    {
                        Console.WriteLine("Tạp 2 không phải là con của 1");
                        break;
                    }
                    else
                    {
                        Two = Two / 10;
                        S3 = S3 + 1;
                    }
                }
                if (S2 == S3)
                {
                    Console.WriteLine("Tạp 2  là con của 1");
                }
            }

            Console.ReadKey();
            #endregion


        }
    }
}
 

kimanh2004793 đã bình luận 13:02 14-08-2018

Bài Của Mình nè: 


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Bai30
{
    class Program
    {
        static void Main(string[] args)
        {
            int NumberA;
            int NumberB;
            string StrNumberA, StrNumberB;
            Console.OutputEncoding = Encoding.UTF8;
            do
            {
                Console.Write("Nhập số A = ");
                StrNumberA = Console.ReadLine();
                Console.Write("Nhập số B = ");
                StrNumberB = Console.ReadLine();
                if (!(int.TryParse(StrNumberA, out NumberA) && int.TryParse(StrNumberB, out NumberB)))
                {
                    Console.WriteLine("Dữ liệu nhập sai !");
                }
            } while (!(int.TryParse(StrNumberA, out NumberA) && int.TryParse(StrNumberB, out NumberB)));

            if (CheckElementChild(StrNumberA.ToString(), StrNumberB.ToString()))
            {
                Console.WriteLine("{0} là số con của số {1}", NumberB, NumberA);
            }
            else
            {
                Console.WriteLine("{0} không là số con của số {1}", NumberB, NumberA);
            }

            Console.ReadKey();
        }

        static bool CheckElementChild(string StrA, string StrB)
        {
            int lengthStringB = StrB.Length;
            for (int i = 0; i < StrA.Length; i++)
            {
                if (String.Compare(StrA.Substring(i, lengthStringB), StrB) == 0)
                {
                    return true;
                }
            }
            return false;
        }
    }
}

lightghostt đã bình luận 21:48 31-07-2018
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Bai30
{
    class Program
    {
        static void Main(string[] args)
        {
            int NumberA;
            int NumberB;
            string StrNumberA, StrNumberB;
            Console.OutputEncoding = Encoding.UTF8;
            do
            {
                Console.Write("Nhập số A = ");
                StrNumberA = Console.ReadLine();
                Console.Write("Nhập số B = ");
                StrNumberB = Console.ReadLine();
                if (!(int.TryParse(StrNumberA, out NumberA) && int.TryParse(StrNumberB, out NumberB)))
                {
                    Console.WriteLine("Dữ liệu nhập sai !");    
                }
            } while (!(int.TryParse(StrNumberA, out NumberA) && int.TryParse(StrNumberB, out NumberB)));

            if (CheckElementChild(StrNumberA.ToString(), StrNumberB.ToString()))
            {
                Console.WriteLine("{0} là số con của số {1}", NumberB, NumberA);
            }
            else
            {
                Console.WriteLine("{0} không là số con của số {1}", NumberB, NumberA);
            }

            Console.ReadKey();
        }

        static bool CheckElementChild(string StrA, string StrB)
        {
            int lengthStringB = StrB.Length;
            for (int i = 0; i < StrA.Length; i++)
            {
                if (String.Compare(StrA.Substring(i, lengthStringB), StrB) == 0)
                {
                    return true;
                }
            }
            return false;
        }
    }
}

 

Tran Tung Duong đã bình luận 00:19 01-05-2018

đây mới là bài 30 ạ :D

using System;
using System.Collections;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Numerics;

namespace Test
{
	class Program
	{
        static void Main()
		{
			Console.OutputEncoding=Encoding.UTF8;
			
			Console.Write("Nhập số x: ");
			long X=Convert.ToInt64(Console.ReadLine());
			Console.Write("Nhập số y: ");
			long Y=Convert.ToInt64(Console.ReadLine());
			string x=Convert.ToString(X);
			string y=Convert.ToString(Y);
			if(x.Contains(y)) Console.WriteLine("y là số con của x");			
			else if(y.Contains(x)) Console.WriteLine("x là số con của y");
			else Console.WriteLine("x không là số con của y và ngược lại");
			
			Console.ReadLine();
		} 
   }
}

 

Không có video.