Số đối Xứng Lớn Nhất. - Dungnv
Có thể bạn quan tâm
dungnv » btncc » tepbtcbc » Số đối xứng lớn nhất. Số đối xứng lớn nhất. Sunday, December 7, 2014 Số đối xứng lớn nhất. Cho số tự nhiên N. Số N là đối xứng nếu đọc từ trái qua phải và từ phải qua trái là như nhau. Cho phép đổi chỗ các chữ số của N. Hãy cho biết có thể đổi chỗ một số các chữ số để nhận được một số đối xứng hay không? Nếu có hãy đưa ra số lớn nhất nhận được. n<2.109
Với bài tiến hành đếm các chữ số xuất hiện trong số N lưu vào mảng. Và tiến hành kiểm tra. Có 2 trường hợp có thể ghép được số đối xứng max: Nếu số chữ số của N là lẻ + 1 chữ số xuất hiện với số lần lẻ, các chữ số còn lại xuất hiện chẵn số lần. và nếu số chữ số của N là chẵn + số lần các chữ số xuất hiện đều chẵn. Còn lại các trường hợp khác không thể ghép được số đối xứng. Đến việc ghép số. nếu lẻ số các chữ số của N thì chừa 1 vị trí chính giữa ra để chèn số đơn không có đôi vào. Nếu số các chữ số chắn thì ghép bình thường. Để ghép được dãy max thì lấy số lớn nhất, xét ngược từ 9->0 trong dãy đếm làm số đầu tiên. Và dần định hình sẽ lấy chữ số đó làm chữ số cuối cùng. Và tiếp tục các số tương ứng. Code - lập trình C Bài đơn giản hóa đề tí. Lược bỏ phần đọc tệp. nhập N là số test. Và nhập lần lượt từng test từ bàn phím. // code dungnv #include <stdio.h> #include <conio.h> int a[10]; int kiemtra(unsigned long x) { if (x==0) return 0; for (int i=0;i<=9;i++) a[i]=0; while (x!=0) { a[x%10]++; x=x/10; } int dem1=0,dem2=0; for (int i=0;i<=9;i++) { dem1+=a[i]; if (a[i]%2!=0) dem2++; } if (dem1%2==1&&dem2==1) return 1; if (dem1%2==0&&dem2==0) return 1; return 0; } unsigned long ghepsomax(unsigned long x) { unsigned long k=0; int tg=0; for (int i=9;i>=0;i--) { if (a[i]!=0) { if (a[i]%2==1) tg=i; for (int j=0;j<a[i]/2;j++) { k+=i; k=k*10; } } } if (tg!=0) k+=tg; else k=k/10; for (int i=0;i<=9;i++) { if (a[i]!=0) { for (int j=0;j<a[i]/2;j++) { k=k*10; k+=i; } } } return k; } int main() { int n; unsigned long x; printf("\nNhap n = "); scanf("%d",&n); for (int i=0;i<n;i++) { printf("\nNhap test %d :",i+1); scanf("%lu",&x); if (kiemtra(x)) printf("\nYES %lu",ghepsomax(x)); else printf("\nNo"); } getch(); } Code - lập trình C Bài đầy đủ viết theo ngôn ngữ lập trình C theo yêu cầu đề thêm phần đọc tệp và ghi tệp chỉ chỉnh sửa bài trên 1 tí. File dữ liệu vào (input.txt) các bạn tạo ở địa chỉ nền ổ C. C\\: input.txt nhập các test vào để chạy chương trình. File dữ liệu ra (output.txt) được tạo ở nền ổ C. Vào C\\: output.txt để xem kết quả. // code dungnv #include <stdio.h> #include <conio.h> int a[10]; int kiemtra(unsigned long x) { if (x==0) return 0; for (int i=0;i<=9;i++) a[i]=0; while (x!=0) { a[x%10]++; x=x/10; } int dem1=0,dem2=0; for (int i=0;i<=9;i++) { dem1+=a[i]; if (a[i]%2!=0) dem2++; } if (dem1%2==1&&dem2==1) return 1; if (dem1%2==0&&dem2==0) return 1; return 0; } unsigned long ghepsomax(unsigned long x) { unsigned long k=0; int tg=0; for (int i=9;i>=0;i--) { if (a[i]!=0) { if (a[i]%2==1) tg=i; for (int j=0;j<a[i]/2;j++) { k+=i; k=k*10; } } } if (tg!=0) k+=tg; else k=k/10; for (int i=0;i<=9;i++) { if (a[i]!=0) { for (int j=0;j<a[i]/2;j++) { k=k*10; k+=i; } } } return k; } int main() { int n; unsigned long x; FILE *u,*v; u=fopen("C:\\input.txt","rt"); v=fopen("C:\\output.txt","wt"); fscanf(u,"%d",&n); for (int i=0;i<n;i++) { fscanf(u,"%lu",&x); if (kiemtra(x)) fprintf(v,"\nYES %lu",ghepsomax(x)); else fprintf(v,"\nNo"); } fclose(u); fclose(v); printf("\nHOAN TAT moi xem ket qua tai c:\\output.txt "); getch(); }
All comments [ 0 ]
Your comments
Tìm Kiếm
Quảng Cáo
ỦNG HỘ CHÚNG TÔIQuảng cáo
Tìm Kiếm Trên Google
BÀI VIẾT QUAN TÂM-
1.1 Hướng dẫn tạo config cá nhân để chơi cs 1.1
-
Bài toán phân tích số (đệ quy quay lui)
-
Tổng hợp Lệnh Game Half life CS 1.1
-
Dowload office 2007 + hướng dẫn cài đặt.
-
Câu 4.4: Viết chương trình nhập vào từ bàn phím n số nguyên, hãy ghi các số nguyên dương vào một tệp văn bản
-
Câu 4.6: Cho một tệp văn bản gồm các xâu ký tự. Viết chương trình đọc tệp, đếm và in ra màn hình số chữ cái in hoa có mặt trong tệp
-
Đề cương, đề thi, bài làm tham khảo, bài tập tham khảo
-
Đồ đầu gấu, tôi yêu em – P12
-
Đồ đầu gấu, tôi yêu em – P15
-
Bài 1.2: Cho mảng gồm n phần tử. Viết chương trình có sử dụng hàm đệ quy tính tổng các phần tử của mảng.
laza
INFORMATION
Liên hệ sđt : 0987563354 or 01686126295 Face Book : Dũng NV - Kênh : Youtobe Email: [email protected]- nguyenvandung.net
- Nguyễn Văn Dũng
- Dũng NV
- dungnv
Từ khóa » Số đối Xứng Js
-
Kiểm Tra Số đối Xứng Trong JavaScript
-
5 Câu Hỏi Javascript Và Cách đánh Bại Chúng | TopDev
-
Kiểm Tra Có Phải Số đối Xứng Hay Không Bằng JavaScript - YouTube
-
[JavaScript] Baif5:Kiểm Tra A Có Phải Là Số Tự đối Xứng Không?
-
Kiểm Tra Số đối Xứng | How Kteam
-
Cách Kiểm Tra Số đối Xứng Trong Java - Freetuts
-
Cách Kiểm Tra Số đối Xứng Trong Java - Bài Tập Java Có Lời Giải Cơ ...
-
Kiểm Tra Số đối Xứng Trong C/C++ - Lập Trình Không Khó
-
Kiểm Tra Xem Một Số Có Phải Là Một Số đối Xứng Hay Không Trong C
-
Số đối Xứng - Chấm Code Online
-
Kiểm Tra Số Có đối Xứng Hay Không? | VnCoding
-
Kiểm Tra Số đối Xứng Hay Không?
-
[*Bài Tập] Kiểm Tra Từ đối Xứng - JSFiddle - Code Playground