01/10/2018, 09:17

Làm thế nào để xuất 6 số 0?

Mình có một đề bài như này mà không biết làm như nào để xuất được 6 số 0 mong mọi người tìm cách khắc phục giúp mình.Vì khi xuất ra file thỳ có mỗi số 0

Số điện thoại di động của một hãng viễn thông được đánh số theo qui cách 091N. XXX.XXX. Trong đó, N là số từ 2 đến 8, X là một số từ 0 đến 9. Ta định nghĩa các loại số điện thoại sau:
• Số điện thoại loại I (Loại I): Là những số có sáu số cuối cùng của nó tạo thành một số thuận nghịch sáu chữ số. Ví dụ số: 0913.558855.
• Số điện thoại loại II (Loại II): Là những số điện thoại Loại I có tổng sáu chữ số cuối cùng là một số chia hết cho 10 . Ví dụ số: 0913.104.401 (1+0+4+4+0+1=10).
• Số điện thoại loại III (Loại III): Là những số điện thoại Loại II có sáu chữ số cuối cùng không chứa bất kỳ một số 0 nào. Ví dụ số: 0913. 122.2211.

Code của mình đây:
http://codepad.org/3wlGBHrS

Vu Van Chung viết 11:27 ngày 01/10/2018

Câu hỏi không có input, output rõ ràng. Bạn có thể trình bày vấn đề dễ hiểu hơn được không?

Tiến Ability Ete viết 11:23 ngày 01/10/2018

VD: SDT tạo là 0912000000. Thì hiện ra được mỗi 09120 làm thế nào để hiện được đủ số hả bạn. Bạn có thể sửa code giúp mình được ko ??

Vu Van Chung viết 11:31 ngày 01/10/2018

TongCacSo(long s) bạn phải return s chứ sao return 0?

rogp10 viết 11:25 ngày 01/10/2018

Đúng thế, hàm tổng mà chỉ có return 0 với 1 thì nên coi lại.

Thực ra đây là một chuỗi số, nhưng duyệt từ 0 lên ko gì bằng dùng hẳn số. Tham khảo <iomanip> (có setw, setfill…) nhiều lắm.

Tiến Ability Ete viết 11:27 ngày 01/10/2018

Cái đó yêu cầu chỉ cần kiểm tra thôi nên mình return tổng làm gì ??

Tiến Ability Ete viết 11:30 ngày 01/10/2018

Cái vấn đề ở đây là làm nào hiện đủ số 0 chứ mình thấy hàm tổng đúng mà. Kiểm tra tổng có chia hết cho 10 thôi chứ có tính tổng đâu mà return tong, do mình đặt tên hàm hơi thiếu chữ tý thôi mà ??

Nguyễn Duy Hùng viết 11:28 ngày 01/10/2018

bạn biết thao tác trên string không ? bài này nên dùng string để làm nhé, bạn gom hết 091 i k lại thành một string rồi ghi ra một lần luôn.

Python:(tham khảo)

def so_thuan_nghich(s):
    return str(s) == str(s[::-1])


def tong_cac_so(s):
    return sum(int(i) for i in str(s)) % 10 == 0


def kiem_tra_chu_so_0(s):
    return "0" not in s


def main():
    loai1 = open("loai1.txt", 'w')
    loai2 = open("loai2.txt", 'w')
    loai3 = open("loai3.txt", 'w')

    for k in xrange(100000, 1000000):
        if so_thuan_nghich(str(k)):
            for i in xrange(2, 9):
                data = "091" + str(i) + str(k)
                loai1.write(data + "\n")

            if tong_cac_so(str(k)):
                for i in xrange(2, 9):
                    data = "091" + str(i) + str(k)
                    loai2.write(data + "\n")

                if kiem_tra_chu_so_0(str(k)):
                    for i in xrange(2, 9):
                        data = "091" + str(i) + str(k)
                        loai3.write(data + "\n")
    loai1.close()
    loai2.close()
    loai3.close()


if __name__ == '__main__':
    main()
Bài liên quan
0