Даны целое число k (1<=k<=252) и последовательность цифр 505152....250, в которой выписаны подряд все натуральные числа от 50 до 250. Нужно.определить k-ую цифру.помогите перевести с языка Си ++ на СИ
#include "stdafx.h"
#include
#include
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
setlocale(LC_ALL, "RUS");
const int NumSize = 201;
int nums[NumSize] = {0};
bool q = false;
cout << "Введите число k от 1 до 252: ";
int k;
cin >> k;
for(int i = 0; i < NumSize; ++i)
nums[i] = 50+i;
cout << "Последовательность: \n";
for(int i = 0; i < NumSize; ++i)
cout << nums[i] << ' ';
for(int i = 0; i < NumSize; ++i)
{
if(k == nums[i])
{
cout << "\nЧисло k соответствует числу с номером " << i + 1 << " в последовательности." << endl;
q = true;
}
}
if(!q)
cout << "\nЧисло k в последовательности не найдено." << endl;
system("pause");
return 0;
}
Answers & Comments
#include<conio.h>
int main() {
int n=0,i=50,k,dgt=0;
printf("k = ");
scanf("%i",&k);
while (n<k) {
if (i>=100) n+=3;
else n+=2;
i++;
}
i--;
if (n==k) dgt=i % 10;
else {
if (n-1==k) dgt=(i/10) % 10;
if (n-2==k) dgt=i/100;
};
printf("\n digit = %i",dgt);
printf("\n number = %i",i);
getch();
return(0);
}