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

Đề tài: [ Solved ]Bài toán chỉ ra 1 chữ số bất kỳ trong dạy số nguyên tố

  1. #1
    Ngày gia nhập
    06 2008
    Nơi ở
    TP Hồ Chí Minh
    Bài viết
    6

    Mặc định [ Solved ]Bài toán chỉ ra 1 chữ số bất kỳ trong dạy số nguyên tố

    cho mình hỏi có bài toán là có 1 dãy số nguyên tố liên tiếp nhau nhập từ bàn phím 1 số bất kì thì hãy in ra chử số tương ứng
    VD: 235711131719 nhap n=7 thì in ra màn hình là 3
    ko biết đọan code dưới đây mình viết tối ưu nhất hay chưa vậy
    Code:
    #include "stdio.h"
    #include "iostream.h"
    #include "iomanip.h"
    #include "stdlib.h"
    #include "string.h"
    #include "conio.h"
    #include "math.h"
    int check(int n)
    {
    	for(int i=2;i<=(n/2);i++)
    	{
    		if(n%i==0)
    			return 0;
    	}
    	return 1;
    	
    }
    char GetValue(int k)
    {
    	char b[100];
    	char a[6];
    	int dem=0;
    	for(int i=2;dem<=k;i++)
    	{
    		if(check(i))
    		{
    			itoa(i,a,10);
    			strcpy(b+dem,a);
    			dem=strlen(b);
    		}
    	}
    	return b[k];
    }
    void main()
    {
    	int k;
    	char h;
    	cout<<"----------Tim 1 so bat ky o vi tri k trong day so nguyen to"<<endl;
    	cout<<"_ Nhap 1 so k bat ky:  ";
    	cin>>k;
    	h=GetValue(k);
    	cout<<"_ So can tim la: "<<h<<endl;
    	cout<<"[Vietnamese] Bam phim bat ky de tiep tuc || [English] "; 
    
    }

  2. #2
    Ngày gia nhập
    10 2007
    Nơi ở
    TP. HCM
    Bài viết
    52

    Trích dẫn Nguyên bản được gửi bởi 1st | Kylin Xem bài viết
    cho mình hỏi có bài toán là có 1 dãy số nguyên tố liên tiếp nhau nhập từ bàn phím 1 số bất kì thì hãy in ra chử số tương ứng
    VD: 235711131719 nhap n=7 thì in ra màn hình là 3
    ko biết đọan code dưới đây mình viết tối ưu nhất hay chưa vậy
    Bạn có thể nói đề bài rõ ràng hơn được không? in ra "chữ số tương ứng" ở đây nghĩa là gì? Theo ví dụ ở trên thì trong dãy các sô nguyên tố được sắp tăng dần, nhập số 7 thì in ra "chữ số tương ứng" của 7 là 3. Ở đây nó tương ứng theo nghĩa nào vậy? Về phần code thì mình thấy hàm kiểm tra số nguyên tố của bạn chưa tối ưu:
    C Code:
    1. int check(int n)
    2. {
    3.     for(int i=2;i<=(n/2);i++)
    4.     {
    5.         if(n%i==0)
    6.             return 0;
    7.     }
    8.     return 1;
    9.    
    10. }
    Ở đây cho i chạy tới sqrt(n) là được rồi:
    C Code:
    1. int check(int n)
    2. {
    3.     for(int i = 2; i <= sqrt(n); i++) {
    4.         if(n % i == 0)
    5.             return 0;
    6.     }
    7.     return 1;
    8.    
    9. }
    /* The thing that I think is the thing that I do. */

  3. #3
    Ngày gia nhập
    07 2007
    Nơi ở
    Sơn La
    Bài viết
    133

    Về hàm kiểm tra số nguyên tố thì tìm đọc bài của huynguyen.
    Còn bài của bạn tôi nghĩ là:
    Mỗi khi kiểm tra được một số nguyên tố thì tiến hành đếm tổng số ký tự của số nguyên tố đó luôn.
    Sau đó rút ngắn khoảng cách của nó với vị trí cần tìm ( lấy hiệu là được )
    Rồi kiểm tra số nguyên tố tiếp theo, khi thỏa mãn hiệu = 0 thì in ra ký tự đó là được.
    ----> khỏi phải lưu vào chuỗi chi cho mắc công.
    ( hj` , lẽ ra xem code của bạn. Nhưng bận quá mình chỉ nêu về ý tưởng của mình thôi ) sry ^^!
    Trao đổi kiến thức sẽ giúp ta tiếp cận nhanh với kiến thức.

  4. #4
    Ngày gia nhập
    06 2008
    Nơi ở
    TP Hồ Chí Minh
    Bài viết
    6

    ý tưởng bài của mình là nó sẽ phân tích một số ra thành một chuỗi sau đó là kiểm tra số tương ứng trong chỗi đó
    VD: 2 3 5 7 11 13 17 19 ----> là một dãy số nguyên tố nếu nhập k=7 thì sẽ in ra man hình la 19; còn bài của mình là sẽ dùng hàm itoa chuyển dãy 2 3 5 7 11 13 17 19 thành 2 3 5 7 1 1 1 3 1 7 1 9 khi đó nếu k=7 thì sẽ xuất ra màn hình là 3

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

  1. [ Solved ]Lỗi trong đoạn code kiểm tra số nguyên tố bằng hàm
    Gửi bởi zodjac1990 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 3
    Bài viết cuối: 09-11-2008, 06:55 PM
  2. [Solved] Kiểm tra 1 số nguyên tố
    Gửi bởi Michael trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 12
    Bài viết cuối: 26-10-2008, 04:55 PM
  3. [ Solved ]Tìm số nguyên tố!!!!
    Gửi bởi Thanhlong_68 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 1
    Bài viết cuối: 15-10-2008, 10:36 PM
  4. [ Solved ]Tìm các số nguyên tố vượt quá phạm vi biểu diễn cua C
    Gửi bởi bavuong_1203 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: 07-10-2008, 11:12 PM
  5. [ Solved ]Số nguyên tố lớn
    Gửi bởi nthung 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: 11-03-2008, 08:57 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