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] ";
}