5 / 3 / 2
Регистрация: 25.11.2011
Сообщений: 78
1

10^6 значные числа

03.03.2015, 21:18. Показов 3418. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
For given number N you must output amount of N-digit numbers, such, that last digits of their square is equal to 987654321
Input contains integer number N (1<=N<=10^6)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <iostream>
#include <math.h>
 
#include <fstream>
 
using namespace std;
 
int main()
{
    int N,k=1;
    long double M=9,O=1;
    //long int M=9;//максимум 9
    cout<<"N=";
    cin>>N;//максимум 9
    while(k<N)
    {
        M=M*10+9;//максимум из N-значных
        O=O*10;//минимум из N-значных
        k++;
    }
    k=1;
 
 
    ofstream fout;
    fout.open("987654321.txt");
 
    cout<<"M="<<M<<endl;
    cout<<"O="<<O<<endl;
    long double d,r=1000000000;
    for (int i=O;i<=M;i++)//все N-значные числа
    {
        d=pow(i,2);//квадрат
        if(d>r&&fmod(d,r)==987654321)
            fout << i<<"     "<<d<<endl; // запись строки в файл
    }
    fout.close(); // закрываем файл
    return 0;
}
Какой тип данных использовать для таких больших чисел?
Что я делаю не так? он не считает, когда N>10
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.03.2015, 21:18
Ответы с готовыми решениями:

6-значные счастливые числа
Здравствуйте, прошу помощи! Тема: Функции. Получить все 6-значные счастливые числа, т.е....

Как перебрать все N-значные числа?
нам дают размер массива и надо перебрать все числа, т.е. дают 4: 0000 0001 0002 . . ....

Как вывести только m-значные числа
Вопрос такой как сделать чтобы выводил только м-значные числа #include&lt;stdio.h&gt;...

Найти все натуральные n-значные числа
здравствуйте! В универе задали самим разобраться с С++ и написать код к задачам. Но с самого начала...

7
0 / 0 / 0
Регистрация: 01.03.2015
Сообщений: 10
03.03.2015, 21:25 2
unsigned не влезает?
0
Эксперт PHP
3105 / 2590 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
03.03.2015, 21:30 3
romster, длинная арифметика
Цитата Сообщение от romster Посмотреть сообщение
N-digit numbers
Цитата Сообщение от romster Посмотреть сообщение
1<=N<=10^6
Это числа длинной до миллиона цифр включительно. О каких unsigned'ах и long'ах идет речь?! Строки и только строки.
0
5 / 3 / 2
Регистрация: 25.11.2011
Сообщений: 78
03.03.2015, 21:31  [ТС] 4
Влезает, но почему теперь М и о неправильно считает? или просто отображает не так?
0
7529 / 6394 / 2914
Регистрация: 14.04.2014
Сообщений: 27,854
03.03.2015, 21:31 5
Может, здесь какое-то упрощение нужно использовать, а не пытаться в лоб решать?
0
5 / 3 / 2
Регистрация: 25.11.2011
Сообщений: 78
03.03.2015, 21:32  [ТС] 6
Цитата Сообщение от Kerry_Jr Посмотреть сообщение
Это числа длинной до миллиона цифр включительно
можно подробнее? Чем обрадуете?

Цитата Сообщение от nmcf Посмотреть сообщение
Может, здесь какое-то упрощение нужно использовать, а не пытаться в лоб решать?
скорее, да) но у меня пока никаких размышлений(
0
7529 / 6394 / 2914
Регистрация: 14.04.2014
Сообщений: 27,854
03.03.2015, 21:41 7
Обрабатывать числа в миллион знаков бессмысленно, ты посчитай число итераций при этом.
Достаточно умножать младшие 9 цифр, именно они определяют результат, а остальное определяется как комбинации.
0
Эксперт PHP
3105 / 2590 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
03.03.2015, 21:42 8
Цитата Сообщение от romster Посмотреть сообщение
For given number N you must output amount of N-digit numbers, such, that last digits of their square is equal to 987654321
Input contains integer number N (1<=N<=10^6)
Для заданного числа N Вам нужно вывести количество N-значных чисел, последние цифры квадратов которых равны 987654321.

А радость такая, либо пишем свою функцию, которая будет умножать числа в столбик (не обязательно доводить умножение до конца, достаточно будет найти последние 9 цифр квадрата и сравнить их с 987654321), либо ищем какую-нибудь библиотеку для длинной арифметики.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.03.2015, 21:42
Помогаю со студенческими работами здесь

Найти все натуральные n-значные числа.
1) Найти сумму всех n-значных чисел, кратных k (1 &lt; п &lt; 4). 2) Найти все натуральные n-значные...

Распечатать только м-значные нечетные числа от 1 до N
Распечатать только м-значные нечетные числа от 1 до N используя цикл while. В мой код нужно...

Построить все 5-значные числа с цифрами 0,2,4,6,8
Нужна помощь в решении следующей задачи: Построить все 5-значные числа с цифрами 0,2,4,6,8...

Выдать все 3ёх значные числа для S
Дано: S- сумма цифр трёхзначного числа. Выдать все трёхзначные числа для S. Мб кто поможет в...

Построить все 5-значные числа с четырмя различными цифрами
Нужна помощь в решении следующей задачи: Построить все 5-значные числа с четырмя различными...

Найти все n-значные числа Армстронга для данного n<9
Натуральное n-значное число называется числом Армстронга, если оно равно сумме n-х степеней своих...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru