Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программа для нахождения к-ой цифры в ряду подряд идущих натуральных чисел. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ С++ Где скачать http://www.cyberforum.ru/cpp-beginners/thread167602.html
Пожалуста потскажите где можно скачать С++,очень надо,в поисковиках немогу найти дайте пожалуста ссылочку! За раннее блогадарю.
C++ нахождение единичной матрицы помогите найти ошибку... я написал программу, для нахождения единичной матрицы... и у меня она не правильно считает, не могу найти ошибку(((( #include <stdio.h> #include <conio.h> main () { int... http://www.cyberforum.ru/cpp-beginners/thread167599.html
C++ Программа для представления дроби в виде суммы различных дробей.
Представить дробь p/q (0<p<q<16) в виде суммы различных дробей, числитель которых равен 1. На С++ только начал программировать, поэтому даже не представляю как такое можно сделать в виде программы.
Простой ввод / вывод C++
Следующая программа: Ввод переменных a и b -> c=a+b -> вывод с -> d=a-b -> вывод d -> f=a*b -> вывод f -> конец Мой код: #include <stdio.h> #include <conio.h> int main (void) { int a, b,...
C++ Условные операторы.Операторы цикла http://www.cyberforum.ru/cpp-beginners/thread167587.html
1)По номеру y(y>0) некоторого года определить с-номер его столетия(учесть что к примеру началом 20 столетия был 1901 а не 1900 год.) подмогните с задачкой на си вот она у меня есть на ПАскале но я...
C++ как получить HANDLE моей программы? доброе время суток, как мне получить HANDLE моей программы на С++? подробнее

Показать сообщение отдельно
kidiam
21 / 21 / 2
Регистрация: 12.07.2010
Сообщений: 42
20.09.2010, 23:07
Пример работы
537000000

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

Process returned 3 (0x3) execution time : 71.171 s
Press any key to continue.
Почему так долго? Где результат?
Или программа работает не для всех чисел? Если так, то уточните до какого.

Правильнее будет так. Индекс от нуля в строке "012345678910111213..."
Работает от 0 до 4294967295. Можно ещё большие числа если сделать все типы "unsigned long long", но тогда будет не до 2^64-1, а до ~ (2^64-1)/10.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
#include <math.h>
 
int main()
{
    unsigned int i, k, d;
    unsigned long long n0, n, p;
    scanf("%d", &k);
    for (n0=i=1, n=p=9; (unsigned long long)k>n; i++, p*=10, n0=n, n+=i*p);
    d = (p/9*10 - ((n - k)/i) - 1)/(unsigned long long )pow(10, (n - k)%i) % 10;
    printf("%d", d);
    return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru