Даны целое число k (1< =k< =252) и последовательность цифр , в которой выписаны подряд все натуральные числа от 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; }
#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);
}