Từ 1 tới 7 trên tổng số 7 kết quả

Đề tài: Chương trình C | Liệt kê các số tự nhiên có tổng lập phương bằng chính nó?

  1. #1
    Ngày gia nhập
    03 2009
    Bài viết
    8

    Mặc định Chương trình C | Liệt kê các số tự nhiên có tổng lập phương bằng chính nó?

    Viết chương trình C để hiển thị các số tự nhiên trong đoạn [a,b] mà tổng lập phương của từng chữ số có giá trị bằng chính số đó.
    giúp em với.Em làm ko ra.

  2. #2
    Ngày gia nhập
    10 2008
    Nơi ở
    Hà Nội
    Bài viết
    49

    ý của bạn là chỉ kiểm tra trong đoạn ab hay in ra đoạn ab đó?
    Bạn thử ví dụ một số được ko bạn

  3. #3
    Ngày gia nhập
    03 2009
    Bài viết
    8

    Vi dụ:mình muốn kiểm tra trong đoạn từ 100 đến 500 chẳng hạn.xem có nhưng số nào có tổng lập phương của từng chữ số có giá trị bằng chính số đó
    Như số xyz chẳng hạn ,thì xyz=x*x*x+y*y*y+z*z*z

  4. #4
    Ngày gia nhập
    11 2008
    Bài viết
    116

    à, cái này là số amstrong 3 chữ số đây mà, bài này cũng ko khó lắm nên mình viết code luôn để bạn tiện tham khảo:
    C Code:
    1. #include <stdio.h>
    2. #include <math.h>
    3. int ams(int x)
    4. {  
    5.     int tram,chuc,donvi;   
    6.     donvi=x%10;
    7.     chuc=(x/10)%10;
    8.     tram=x/100;
    9.     if(pow(donvi,3)+pow(chuc,3)+pow(tram,3)==x)
    10.         return 1;
    11. }
    12. void main()
    13. {
    14.     int i,a,b;
    15.     printf("\nnhap a,b (a<b): ");
    16.     scanf("%d %d",&a,&b);
    17.     for(i=a;i<b;i++)
    18.         if(ams(i)==1)
    19.             printf("%d ",i);
    20. }

    Còn đây là bài amstrong 4 chữ số
    C Code:
    1. #include <stdio.h>
    2. #include <math.h>
    3. int ams(int x)
    4. {  
    5.     int tram,chuc,donvi,nghin; 
    6.     donvi=x%10;
    7.     chuc=(x/10)%10;
    8.     tram=(x/100)%10;
    9.     nghin=x/1000;
    10.     if(pow(donvi,4)+pow(chuc,4)+pow(tram,4)+pow(nghin,4)==x)
    11.         return 1;
    12. }
    13. void main()
    14. {
    15.     int i,a,b;
    16.     printf("\nnhap a,b (a<b): ");
    17.     scanf("%d %d",&a,&b);
    18.     for(i=a;i<b;i++)
    19.         if(ams(i)==1)
    20.             printf("%d ",i);
    21. }

  5. #5
    Ngày gia nhập
    03 2009
    Nơi ở
    Hà Nội
    Bài viết
    74

    bài của mình đây:
    C Code:
    1. #include <stdio.h>
    2. int kt(int x);
    3. int a,b;
    4. int main(){
    5.     int i;
    6.     printf("Nhap a va b:");
    7.     scanf("%d %d",&a,&b);
    8.     for(i=a;i<=b;i++) if(kt(i)) printf("%d ",i);
    9. }
    10. int kt(int x){
    11.     int tg=0,tong=0;
    12.     tg=x;
    13.     while(tg>0){
    14.         tong+=(tg%10)*(tg%10)*(tg%10);
    15.         tg/=10;
    16.     }
    17.     if(tong==x) return 1;
    18.     return 0;
    19. }

  6. #6
    Ngày gia nhập
    11 2008
    Bài viết
    116

    Mặc định Chương trình C | Liệt kê các số tự nhiên có tổng lập phương bằng chính nó?

    Trích dẫn Nguyên bản được gửi bởi minhgiang_hedspi Xem bài viết
    bài của mình đây:
    C Code:
    1. #include <stdio.h>
    2. int kt(int x);
    3. int a,b;
    4. int main(){
    5.     int i;
    6.     printf("Nhap a va b:");
    7.     scanf("%d %d",&a,&b);
    8.     for(i=a;i<=b;i++) if(kt(i)) printf("%d ",i);
    9. }
    10. int kt(int x){
    11.     int tg=0,tong=0;
    12.     tg=x;
    13.     while(tg>0){
    14.         tong+=(tg%10)*(tg%10)*(tg%10);
    15.         tg/=10;
    16.     }
    17.     if(tong==x) return 1;
    18.     return 0;
    19. }
    Bài của bạn rõ ràng tối ưu hơn hẳn bài của tôi. Cám ơn bạn đã share cho tui 1 thuật toán hay như vậy.

  7. #7
    Ngày gia nhập
    03 2009
    Bài viết
    523

    C Code:
    1. while(tg>0){
    2.         tong+=(tg%10)*(tg%10)*(tg%10);
    3.         tg/=10;
    hix em ko hiểu ý nghĩa đoạn code này....
    đã test với các số có 4 chữ số, ko có số nào thỏa
    Đã được chỉnh sửa lần cuối bởi chuong01 : 30-03-2009 lúc 07:09 PM.

Các đề tài tương tự

  1. Sản phẩm từ tự nhiên - đồ gỗ tự nhiên
    Gửi bởi luuthily90 trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 05-03-2013, 02:23 PM
  2. Sản phẩm từ tự nhiên - đồ gỗ tự nhiên
    Gửi bởi baobinh trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 01-03-2013, 03:38 PM
  3. Lập trình C Hàm tạo số ngẫu nhiên | Cách nhập giá trị ngẫu nhiên cho ma trận?
    Gửi bởi chuong01 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 15
    Bài viết cuối: 13-08-2012, 09:43 PM
  4. Bài tập C Tạo ngẫu nhiên mảng 2 chiều vuông 4X4 với các phần tử tạo ngẫu nhiên trong đoạn[0,50]
    Gửi bởi truongtrungviet trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 16
    Bài viết cuối: 16-04-2011, 08:06 AM
  5. Bài tập C++ cách sử dụng hàm in ra các số tự nhiên chẵn trong n số tự nhiên đầu tiên
    Gửi bởi tictic trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 17-04-2010, 01:17 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn