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

Задачи на числа(6 задач) - C++

Восстановить пароль Регистрация
 
Mick_
Сообщений: n/a
06.02.2012, 23:11     Задачи на числа(6 задач) #1
1. Даны целые числа M, N. Получить все их общие делители (положительные и отрицательные).
2. Даны натуральное число n, целые числа а1, а2, … , аn (в этой последовательности могут быть повторяющиеся числа). Найти число различных членов последовательности.
3. Даны действительные числа A0,…A6. Получить для x=1, 3, 4 значения P(X+1)-P(X) , где P(X)=A6X^6+ A5X^5+...+A0.
4. Дано предложение (символьная строка, где слова отделяются друг от друга запятой). Определить слово наибольшей длины и величину длины.
5. Даны целые числа а1, ..аn, b1,...b n. Верно ли, что эти две последовательности отличаются не более, чем порядком следования членов?
Чтение входных данных производить из файла input.dat . Результаты сохранять в файл output.dat.
6. Записать в файл F целые числа. Прочитать данные из файла, подсчитать количество компонентов, являющихся квадратами нечетных чисел.

Буду благодарен за помощь!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.02.2012, 23:11     Задачи на числа(6 задач)
Посмотрите здесь:

2 Задачи на С++(Вводить и суммировать числа пока пользователь не введет 2 одинаковых числа) C++
C++ решение задачи,конвертация числа в строку.
C++ Как написать программу-калькулятор чтобы было можно додавать 2 числа, 3 числа, 4 числа, n чисел?
Даны натуральные числа M, N. Поменять одну из цифр первого числа с цифрой второго числа, чтобы получившиеся числа были взаимно простыми C++
C++ Поменять одну из цифр первого числа с цифрой второго числа, чтобы получившиеся числа были взаимно простыми
Даны два числа. Если квадратный корень из второго числа меньше первого числа, то увличить второе число в пять раз с++ C++
Подготовка к решению сложных задач и задач олимп.уровня C++
Ввести в программу строку (числа, латиница), считать только числа, записать числа в массив C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Сtrl
 Аватар для Сtrl
138 / 128 / 3
Регистрация: 19.07.2011
Сообщений: 184
07.02.2012, 00:07     Задачи на числа(6 задач) #2
Решение второй задачи:
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
#include <iostream>
#include <list>
#include <algorithm>
 
using namespace std;
 
int main()
{
    cout << "Enter N: ";
    int N;
    cin >> N; cin.get();
    list<unsigned> A;
    for (int i = 0; i < N; ++i)
    {
        cout << "A[" << i << "] = ";
        unsigned buffer;
        cin >> buffer; cin.get();
        A.push_back(buffer);
    }
    A.sort();
    A.unique();
    cout << "There are " << A.size() << " unique numbers" << endl;
    cin.get();
}
Добавлено через 27 минут
Решение третьей задачи:
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
#include <iostream>
#include <vector>
#include <algorithm>
 
using namespace std;
 
double P(double x, const vector<double> &A)
{
    double X = 1;
    double result = 0;
    for (vector<double>::const_reverse_iterator it = A.crbegin(); it != A.crend(); ++it)
    {
        result += *it * X;
        X *= x;
    }
    return result;
}
 
int main()
{
    vector<double> A;
    for (int i = 0; i < 6; ++i)
    {
        cout << "A[" << i << "] = ";
        double buffer;
        cin >> buffer; cin.get();
        A.push_back(buffer);
    }
    cout << "P(X+1)-P(X) =" << endl;
    
    vector<double> xs = {1, 3, 4};
 
    for (vector<double>::const_iterator it = xs.cbegin(); it != xs.cend(); ++it)
        cout << '\t' << (P(*it + 1, A) - P(*it, A)) << "\twith x = " << *it << endl;
 
    cin.get();
}
Если компилятор не поддерживает C++11, замени 31-ю строку на
C++
1
2
3
4
vector<double> xs;
    xs.push_back(1);
    xs.push_back(3);
    xs.push_back(4);
Добавлено через 11 минут
Решение пятой задачи:
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
#include <iostream>
#include <list>
#include <algorithm>
 
using namespace std;
 
int main()
{
    cout << "Enter N: ";
    int N;
    cin >> N; cin.get();
 
    list<int> A, B;
    for (int i = 0; i < N; ++i)
    {
        cout << "A[" << i << "] = ";
        int buffer;
        cin >> buffer; cin.get();
        A.push_back(buffer);
    }
    for (int i = 0; i < N; ++i)
    {
        cout << "B[" << i << "] = ";
        int buffer;
        cin >> buffer; cin.get();
        B.push_back(buffer);
    }
 
    A.sort();
    B.sort();
 
    cout << "Sequences are" << (equal(A.cbegin(), A.cend(), B.cbegin()) ? " " : " not ") << "the same." << endl;
 
    cin.get();
}
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
07.02.2012, 00:24     Задачи на числа(6 задач) #3
Первая:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
 
 
int main()
{
    int i, n, m, res=0, to;
    std:: cin >> n >> m;
    to = (n>m ? n : m);
 
    for (int i=1; i<=to/2; ++i)
        if (n%i==0 && m%i==0) std:: cout << i << " ";
 
    std:: cout << "\n";
    system ("pause");
    return 0;
}
Если нужна меньшая скорость выполнения, можно работать через корень.

Добавлено через 5 минут
Версия 1.1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
 
 
int main()
{
    int n, m, res=0, to,min;
    std:: cin >> n >> m;
    to = (n>m ? n : m); min = (n>m ? m : n);
 
    if (to/2>min) to = min*2;
 
    for (int i=1; i<=to/2; ++i)
        if (n%i==0 && m%i==0) std:: cout << i << " ";
 
    std:: cout << "\n";
    system ("pause");
    return 0;
}
Yandex
Объявления
07.02.2012, 00:24     Задачи на числа(6 задач)
Ответ Создать тему
Опции темы

Текущее время: 14:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru