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

Đề tài: Giúp em một số bài về số nguyên tố

  1. #1
    Ngày gia nhập
    02 2008
    Bài viết
    28

    Mặc định Giúp em một số bài về số nguyên tố

    Em mới tự học nên giải thuật rất kém các bác giúp em giải thuật với:
    Nhập vào một số nguyên duơng. Đưa ra tổng các chữ số.
    Nhập vào một số nguyên duơng.In ra theo thứ tự ngược lại.
    Nhập vào một số nguyên duơng. Cho biết số đó có bao nhiêu chữ số.
    Em muốn hỏi thêm điều này
    Em thấy trong C có phép toán mà có hai kí tự thẳng đứng song song dùng để chỉ liên kết hai biểu thức quan hệ .Không hiểu gõ 2 kí tự đó ở đâu.
    Thanks các bác trước.

  2. #2
    Ngày gia nhập
    12 2007
    Bài viết
    224

    Nhập vào một số nguyên duơng. Đưa ra tổng các chữ số.
    Nhập vào một số nguyên duơng.In ra theo thứ tự ngược lại.
    Nhập vào một số nguyên duơng. Cho biết số đó có bao nhiêu chữ số.
    Các bài tập này có nhiều cách giải nhưng theo mình nghĩ bạn nên dùng hàm có sẵn trong thư viện C là hàm itoa để chuyển số thành chuỗi và sau đó thao tác rất dễ dàng

    Ví dụ bạn nhập số n=5453 , dùng hàm itoa(n) sau đó gán nó vào chuỗi s
    : s=itoa(n) thì bạn sẽ có chuỗi s là "5453" . Duyệt chuỗi s , làm việc ... OK ?

    Em thấy trong C có phép toán mà có hai kí tự thẳng đứng song song dùng để chỉ liên kết hai biểu thức quan hệ .Không hiểu gõ 2 kí tự đó ở đâu.
    2 ký tự song song || trên bàn phím là ký tự trên ký tự \ đó . Dùng để OR 2 cáo gì đó với nhau .

  3. #3
    Ngày gia nhập
    02 2008
    Bài viết
    1,009

    bài 1
    Code:
    #include<stdio.h>
    #include<conio.h>
    #define ESC 27
    void main()
    {
       int d,a[100],s,n,i; 
       do
          {
             s=0;  clrscr();
             printf("nhap so chu so n=");
             scanf("%d",&n);
             for(i=1;i<=n;i++)
               {
                 printf("\nnhap so thu %d:",i);
                 scanf("%d",&a[i]);
               }
             for(i=1;i<=n;i++)
               { 
                 s=s+a[i]; 
               }
    
             printf("\ntong cac chu so la s=%d",s);    d=getch();
          }
             while(d==ESC);
        getch();
    }

  4. #4
    Ngày gia nhập
    02 2008
    Bài viết
    1,009

    bài 2: có thể áp dụng với cả số và chữ...các kí tự
    sử dụng gets
    Code:
    /*nhap xau va dao nguoc xau do*/
    #include<conio.h>
    #include<string.h>
    #include<stdio.h>
    #define ESC 27
    void main()
    {
    char s[100],ch;
    int i,n,d;do{
    clrscr();
    printf("nhap xau:");
    gets(s);
    
    n=strlen(s);/*dem so phan tu cua chuoi*/
    
    /* duyet cac ki tu nua dau cua xau*/
    
    for(i=0;i<n/2;i++)
    /* doi cho cac ki tu doi xung o 2 dau*/
    {
    ch=s[i]; s[i]=s[n-1-i]; s[n-1-i]=ch;
    }
    printf("\n\nxau nguoc la:%s",s);printf("\n\nBAM ESC de tiep tuc");d=getch();}while(d==ESC);printf("\n\nKET THUC");
    getch();
    }

    sử dụng kĩ thuật scanf

    Code:
    /*nhap xau va dao nguoc xau do*/
    #include<conio.h>
    #include<string.h>
    #include<stdio.h>
    #define ESC 27
    void main()
    {
    char s[100],ch;
    int i,n,d;do{
    clrscr();
    printf("nhap xau:");
    scanf("%[^\n]",s);
    
    n=strlen(s);/*dem so phan tu cua chuoi*/
    
    /* duyet cac ki tu nua dau cua xau*/
    
    for(i=0;i<n/2;i++)
    /* doi cho cac ki tu doi xung o 2 dau*/
    {
    ch=s[i]; s[i]=s[n-1-i]; s[n-1-i]=ch;
    }
    printf("xau nguoc la:%s",s); printf("\n\nBAM ESC de tiep tuc");d=getch();}while(d==ESC);printf("\n\nKET THUC");
    getch();
    }

  5. #5
    Ngày gia nhập
    02 2008
    Bài viết
    1,009

    bó tay,cậu hỏi là đếm số phần tử à,hay đếm số lần xuất hiện của mỗi phần tử,nếu đếm số lần xuất hiện thì mới .....còn kái kia có hàm sẵn trong sách mà

    Code:
    #include<stdio.h>
    #include<conio.h>
    #include<string.h>
    #define ESC 27
    void main()
    {
          char s[100],p;int d; 
          do
            { 
               clrscr();
               printf("nhap xau ki tu");
               gets(s);
               p=strlen(s);
               printf("so phan tu :%d",p);printf("\n\nbam ESC de tiep tuc");d=getch();
            }
          while(d==ESC);printf("\n KET THUC ");getch();
    }

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

    Mặc định Giúp em một số bài về số nguyên tố

    scanf("%[^\n]",s);
    cái ^\n là gì thế mình không hiểu.
    còn cái d=getch(); nữa.

  7. #7
    Ngày gia nhập
    02 2008
    Bài viết
    1,009

    ^ trong toán tử bit có nghĩa là loại trừ nhé VD như là1^1=0,0^0=0,1^0=1,0^1=1,vì cậy ^\n có nghĩa là loại trừ \n,tương đương với gets(s),trong thủ thuật này tớ đã sử dụng cách dò dọc theo kiểu kí tự ,khi đó khoảng trắng cũng được xét bình đẳng như các kí tự khác ,phương pháp dò dọc này chỉ xảy ra trong các trường hợp chúng ta sử dụng phép khai báo kí tự chuyển dạng như sau c,[....],[^...] trong cách này tớ đã sử dụng cách thứ 3,dây cũng chính là phương pháp loại bỏ khoảng trắng trong hàm scanf

    xem them

  8. #8
    Ngày gia nhập
    02 2008
    Bài viết
    1,009

    còn cái d=getch(); nữa.
    đó chính là hàm nhập kí tự từ bộ đệm bàn phím,không cho hiện lên màn hình

    mà quên,cậu không cần quan tâm tới cái vòng lệnh do while đâu,và cả cái d=getch();đó chỉ là mình thêm vào để làm giao diện thôi,hihihi

    Vui lòng đọc Nội quy trước khi gửi bài, không gửi nhiều bài viết liên tiếp, liền nhau trong cùng một đề tài
    Đã được chỉnh sửa lần cuối bởi Kevin Hoang : 07-03-2008 lúc 08:23 PM. Lý do: Nhắc nhở spam

  9. #9
    Ngày gia nhập
    03 2008
    Bài viết
    16

    bai 1 "coder_gate" lam sai minh lam lai ho ban nha:


    Code:
    #include<conio.h>
    #include<stdio.h>
     void main(){
      int n,du,S=0; clrscr();
      printf("\n nhap so nguyen duong n=");scanf("%d",&n);
      while(n!=0){
       du=n%10;   n=n/10;
         S=du+S;}
      printf("tong cac chu so cua so nguyen duong la S=%d",S);
      getch();}


    bai con lai thi cung su dung thuat toan chia cho 10 tuong tu nhu vay thoi
    chuc ban hoc tot C

    Lưu ý đọc Nội quy trước khi gửi bài viết lên diễn đàn. Viết tiếng Việt có dấu khi tham gia thảo luận. xin cảm ơn!
    Đã được chỉnh sửa lần cuối bởi Kevin Hoang : 13-03-2008 lúc 11:14 PM. Lý do: Nhắc nhở viết không dấu

  10. #10
    Ngày gia nhập
    04 2008
    Nơi ở
    Bốn bề là nhà
    Bài viết
    703

    Ủa mình thấy tiêu đề bài viết của bạn là "Giúp em một số bài về số nguyên tố
    " mà sao chẳng thấy có liên quan chút gì tới số nguyên tố vậy nhỉ,chắc có nhầm lẫn à?
    Tiện đây mình xin góp 1 cách làm ý thứ 2 "Nhập vào một số nguyên duơng.In ra theo thứ tự ngược lại.
    "
    mình sử dụng sơ đồ Horne (ứng dụng trong tính giá trị biểu thức)
    C Code:
    1.    void viet_nguoc_lai(int n)
    2.     {
    3.         int sum=0;
    4.         while (n!=0)
    5.             {
    6.                 sum=sum*10+(n%10);  //mình hơi tiết kiệm biến
    7.                 n=n/10;
    8.             }
    9.         printf("%d",sum);
    10.     }

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

  1. Lập trình C++ giúp em bài: đặc tả cộng hai số nguyên dương lớn
    Gửi bởi phamhoangphu trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 11-04-2012, 01:45 AM
  2. giúp mình tìm lỗi bài tìm số nguyên tố thỏa mãn những điều kiện sau
    Gửi bởi ducvietphan trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 4
    Bài viết cuối: 05-11-2011, 02:13 PM
  3. Liệt kê các số nguyên tố nhỏ hơn n có tổng bằng S cho trước. Giúp mình tìm lỗi sai
    Gửi bởi van.duc0409 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 8
    Bài viết cuối: 25-02-2011, 08:31 PM
  4. bài tập kiểm tra số nguyên tố. Giúp em với?
    Gửi bởi Vaanres trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 12
    Bài viết cuối: 10-10-2009, 08:45 AM
  5. Giúp giùm mình bài phân tích số nguyên dương thành tích thừa số nguyên tố
    Gửi bởi nguyenminhdanh trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 30-09-2008, 07:53 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