Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.51/37: Рейтинг темы: голосов - 37, средняя оценка - 4.51
0 / 0 / 0
Регистрация: 23.02.2010
Сообщений: 9
1

Определите наибольший общий делитель чисел

23.02.2010, 10:07. Показов 7341. Ответов 19
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет,всем!!!Я учусь в колледже информатики и мы только начали изучать Си и нам дали электронную контрольную работу,но когда я отправляю свои решения он говорит,что решено не правильно,поэтому прошу у вас помощи ведь отправить надо сегодня до 6 часов вечера!За ранее спасибо и с праздником!!!
1) Дано трёхзначное число. В нём зачеркнули последнюю справа цифру и приписали ее в начало. Найти полученное число.
Входные данные:
Целое, трёхзначное число.
Выходные данные:
Одно целое число, являющееся решением данной задачи.
2)Дано натуральное число n. Найдите сумму его первой и последней цифры.
Входные данные:
Одно целое, число n, (n>=10).
Выходные данные:
Одно целое число, являющееся суммой двух цифр - первой и последней, для заданного числа n.
3)Даны три целых числа a , b и c (b>a,10>=a>99,10>b>=99,0>=c>=9). Найдите все целые числа из промежутка от a до b в десятичных записях которых есть цифра c.
Входные данные:
Три целых числа a , b и c, заданные в одной строке через пробел.
Выходные данные:
Все целые числа из промежутка от a до b в десятичных записях которых есть цифра c, в порядке возрастания, в одной строке через пробел. После последнего числа этой последовательности пробел ставится.
4)Даны два целых числа a и b (a>=b>=0). Определите наибольший общий делитель этих чисел.
Входные данные:
Два целых числа a и b, заданных в одной строке через пробел.
Выходные данные:
Одно целое число, являющееся наибольшим общим делителем чисел a и b.
5)Дано натуральное число n (n<100). Определить число способов выплаты суммы n руб. с помощью монет достоинством 1, 2, 5, 10 рублей.
Входные данные:
Целое число n.
Выходные данные:
Одно целое число, являющееся количеством способов выплаты суммы n руб. с помощью монет достоинством 1, 2, 5, 10 рублей.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.02.2010, 10:07
Ответы с готовыми решениями:

Найти наибольший общий делитель чисел
Найти наибольший общий делитель чисел M и N используя метод Эйлера: если M делится на N, то НОД (N,...

Наибольший общий делитель 2х целых чисел
Здравствуйте, помогите пожалуйста с прогой: Вычислить наибольший общий делитель 2х целых чисел...

Вычислить наибольший общий делитель чисел A! и B!
Закончилось время каникул. Благодаря помощи хакера Лехи, Нура все же смогла поступить в университет...

Найти наибольший общий делитель двух чисел
Задание: найти наибольший общий делитель двух чисел. Сам код: #include &lt;iostream&gt; using...

19
Эксперт С++
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
23.02.2010, 10:14 2
Ты лучше приведи свои решения, и тебе скажут, что не так

Добавлено через 1 минуту
Цитата Сообщение от Boginy Посмотреть сообщение
(n&gt;=10)
вот это, к примеру, что значит?
0
0 / 0 / 0
Регистрация: 23.02.2010
Сообщений: 9
23.02.2010, 10:17  [ТС] 3
В данный момент сайт на котором мы пишем не работает.Первую я решила так:
C
1
2
3
4
5
6
7
8
9
10
11
#include<stdio.h>
int main()
{
int m;
scanf("%i",&m);
int n=m%10;
int a=m div 10;
int b=a+n*100;
pritf("\n b=%i",b);
return 0;
}
0
Эксперт С++
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
23.02.2010, 10:28 4
Цитата Сообщение от Boginy Посмотреть сообщение
int a=m div 10;
А у тебя эту строчку вообще компилятор пропускает? В C/C++ операция div для целых чисел выполняется оператором /, т.е. эту строку нужно заменить на
C++
1
int a=m/10;
А так все вроде бы правильно

Добавлено через 3 минуты
И что значит "решено не правильно"? Им не нравится алгоритм решения, или программа выдает неверные результаты? Если последнее, то попробуй запустить программу в пошаговом режиме

Добавлено через 2 минуты

Не по теме:

кстати, в моем часовом поясе 6 часов вечера наступит через полчаса

0
0 / 0 / 0
Регистрация: 23.02.2010
Сообщений: 9
23.02.2010, 10:30  [ТС] 5
Я не знаю что именно он имеет в виду поскольку сама первый раз так контрольные решаю,но вроде бы он сразу проверяет и проверив меня написал неверно....

Добавлено через 1 минуту
Не по теме:
У меня сейчас только 13:30 дня)))
0
Эксперт С++
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
23.02.2010, 10:30 6
upd, в 9 строке ошибка, вместо pritf нужно printf
0
0 / 0 / 0
Регистрация: 23.02.2010
Сообщений: 9
23.02.2010, 10:32  [ТС] 7
упс))
0
Эксперт С++
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
23.02.2010, 10:32 8
Вот рабочий вариант:
C++
1
2
3
4
5
6
7
8
9
10
11
#include<stdio.h>
int main()
{
    int m;
    scanf("%i",&m);
    int n=m%10;
    int a=m / 10;
    int b=a+n*100;
    printf("\n b=%i",b);
    return 0;
}
0
0 / 0 / 0
Регистрация: 23.02.2010
Сообщений: 9
23.02.2010, 10:34  [ТС] 9
сайт включили!все равно говорит неверно....
0
Эксперт С++
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
23.02.2010, 10:40 10
Может я чего не понял?
К примеру, дано число 475, в результате должно получиться 574?
0
0 / 0 / 0
Регистрация: 23.02.2010
Сообщений: 9
23.02.2010, 10:42  [ТС] 11
(n&gt;=10) это n>=10

Добавлено через 2 минуты
все правильно ты понял....
0
Эксперт С++
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
23.02.2010, 10:46 12
Цитата Сообщение от Boginy Посмотреть сообщение
Добавлено через 2 минуты
все правильно ты понял....
Странно, программа все считает правильно, см. здесь результат
0
0 / 0 / 0
Регистрация: 23.02.2010
Сообщений: 9
23.02.2010, 10:59  [ТС] 13
6)Даны два целых числа. Найти среднее арифметическое кубов этих чисел.
Входные данные:
Два целых числа, которые вводятся в одной строке через пробел.
Выходные данные:
Вещественное число, являющееся результатом решения задачи. Число должно иметь три разряда после десятичной точки.
7) Дано целое число k(3<=k<=450) и последовательность цифр 101102103...149150, в котором выписаны подряд все трехзначные числа от 101 до 150. Определить k-ю цифру, если известно, что k- число кратное трём.
Входные данные:
Целое число, определяющее k-ю позицию в последовательности 101102103...149150. Причём, это число кратно трём.
Выходные данные:
Целое число, являющееся k-й цифрой в последовательности 101102103...149150.

Добавлено через 3 минуты
в общем я отправила в таком виде.С другими поможешь?

Добавлено через 1 минуту
8) В старояпонском календаре был принят двенадцатилетний цикл. Годы внутри цикла носили названия животных: крысы,коровы, тигра, зайца, дракона, змеи, лошади, овцы, обезьяны, петуха, собаки и свиньи. Напишите программу, которая по номеру года определяет его название в старояпонском календаре, если известно, что 1996 год был годом крысы.
Входные данные:
Целое число, определяющее номер года.
Выходные данные:
Одно из сообщений: RAT, COW, TIGER, HARE, DRAGON, SNAKE, HORSE, SHEEP, MONKEY, COCK, DOG, PIG , соответствующее названию года в старояпонском календаре. Сообщение выводится в одной строке заглавными латинскими буквами.

Добавлено через 1 минуту
9)Заданы координаты точки (x,y). Определить принадлежит ли точка данной фигуре.
Входные данные:
Два вещественных числа x и y, записанные в одной строке через пробел.
Выходные данные:
Сообщение YES, если точка принадлежит фигуре. И сообщение NO в противном случае. Сообщение выводится в одной строке заглавными латинскими буквами.

Добавлено через 4 минуты
как мне рисунок вставить?

Добавлено через 57 секунд
10)Определить является ли число A делителем числа B.
Входные данные:
Два целых числа A и B, записанные в одной строке через пробел.
Выходные данные:
Сообщение YES, если число A является делителем числа B. И сообщение NO в противном случае. Сообщение выводится в одной строке заглавными латинскими буквами.
0
0 / 0 / 0
Регистрация: 23.02.2010
Сообщений: 18
23.02.2010, 11:18 14
Помогите пожалуйста, у меня проблемы из этой же серии, одну контрольную решаем, он почему-то пишет неправельно. Что не так?

Даны два целых числа. Найти среднее арифметическое кубов этих чисел.
Входные данные:
Два целых числа, которые вводятся в одной строке через пробел.
Выходные данные:
Вещественное число, являющееся результатом решения задачи. Число должно иметь три разряда после десятичной точки.

C
1
2
3
4
5
6
7
8
9
#include<stdio.h>
main()
{
  int a,b;
  printf("введите числа a b");
  scanf("%i %i", &a,&b);
  float m=(a*a*a+b*b*b)/2;
  printf("\n m%=f",m);
}


Определить является ли число A делителем числа B.
Входные данные:
Два целых числа A и B, записанные в одной строке через пробел.
Выходные данные:
Сообщение YES, если число A является делителем числа B. И сообщение NO в противном случае. Сообщение выводится в одной строке заглавными латинскими буквами.

C
1
2
3
4
5
6
7
8
9
10
11
12
13
#include<stdio.h>
 
main()
{
  int A,B;
  printf("зайте числа A B");
  scanf("%i %i",&A,&B);
  int d=B/A;
  if (d==0)
     puts("YES");
  else
     puts("NO");
}
0
Эксперт С++
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
23.02.2010, 13:05 15
Boginy,
ancara,
Цитата Сообщение от Boginy Посмотреть сообщение
Даны два целых числа. Найти среднее арифметическое кубов этих чисел.
C++
1
2
3
4
5
6
7
8
9
10
#include<stdio.h>
int main()
{
int a,b;
printf("Введите числа a b");
scanf("%i %i", &a,&b);
float m=((float)(a*a*a+b*b*b))/2.0;
printf("\n m=%f",m);
return 0;
}
Добавлено через 3 минуты
Цитата Сообщение от Boginy Посмотреть сообщение
k(3<=k<=450)
Мне кажется, что k все-таки должно быть из отрезка [3;150], т.к. всего у нас цифр (150-101+1)*3=150

Добавлено через 1 минуту
Тогда такой код должен сработать:
C++
1
2
3
//...Здесь ты вводишь k
int i=(k/3)%10;
//...Здесь выводишь i
Добавлено через 2 минуты
Цитата Сообщение от Boginy Посмотреть сообщение
10)Определить является ли число A делителем числа B.
Входные данные:
Два целых числа A и B, записанные в одной строке через пробел.
Выходные данные:
Сообщение YES, если число A является делителем числа B. И сообщение NO в противном случае. Сообщение выводится в одной строке заглавными латинскими буквами.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<stdio.h>
 
int main()
{
int A,B;
printf("задайте числа A и B");
scanf("%i %i",&A,&B);
int d=B%A;//!!! Нужно именно "%"!!!
if (d==0)
puts("YES");
else
puts("NO");
return 0;
}
Добавлено через 6 минут
Цитата Сообщение от Boginy Посмотреть сообщение
8) В старояпонском календаре был принят двенадцатилетний цикл. Годы внутри цикла носили названия животных: крысы,коровы, тигра, зайца, дракона, змеи, лошади, овцы, обезьяны, петуха, собаки и свиньи. Напишите программу, которая по номеру года определяет его название в старояпонском календаре, если известно, что 1996 год был годом крысы.
Входные данные:
Целое число, определяющее номер года.
Выходные данные:
Одно из сообщений: RAT, COW, TIGER, HARE, DRAGON, SNAKE, HORSE, SHEEP, MONKEY, COCK, DOG, PIG , соответствующее названию года в старояпонском календаре. Сообщение выводится в одной строке заглавными латинскими буквами.
C++
1
2
3
4
5
6
7
8
9
10
11
12
//Ввод года year
int i=(year-1996)%12;
if(i<0)
   i=12-i;
switch(i)
{
   case 0: puts("RAT"); break;
   case 1: puts("COW"); break;
   //... и так далее
   case 11: puts("PIG"); break;
}
//...
Добавлено через 9 минут
И на будущее:
  1. Оператор / для целых чисел работает как целочисленное деление. Если операнды - целые числа, а результат должен быть дробным, то тогда нужно сделать приведение операндов к вещественному типу:
    C++
    1
    2
    3
    
    int a=5, b=2;
    //float c=a/b - в результате получится 2
    float c=((float)a)/((float)b); // - в результате получится 2.5
  2. Оператор %, для целых чисел, - остаток от деления
  3. Функцию main нужно объявлять как возвращающую тип int, а в последней ее строчке нужно поместить return 0 (код успешного завершения программы):
    C++
    1
    2
    3
    4
    5
    
    int main
    {
       //...
       return 0;
    }

Добавлено через 3 минуты
Цитата Сообщение от Boginy Посмотреть сообщение
как мне рисунок вставить?
Вставить куда?
0
159 / 156 / 47
Регистрация: 29.04.2009
Сообщений: 636
23.02.2010, 13:37 16
НОД;
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int main(int argc,char *argv[])
{
int a=12;
int b=6;
int half;
int min=0;
if(b<a)
min=b;
else
min=a;
half=min/2;
for(int i = 2;i<=half;i++)
if((a % i ) == 0 &&(b % i)==0)printf("%d",i);
return 0;
}
0
Эксперт С++
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
23.02.2010, 13:57 17
Sekt, ты вообще проверял, что выдает твой код? А он должен выдавать 6
Вот так надо:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
 
int main()
{
   int a, b, max, min, i;
   scanf("%i %i", &a, &b);
   min=(a>b)? b: a;
   max=1;
   for(i=1; i<=min; ++i)
      if((a%i==0)&&(b%i==0))
         max=i;
   printf("\nmax=%i\n", max);
   return 0;
}
0
0 / 0 / 0
Регистрация: 23.02.2010
Сообщений: 9
23.02.2010, 15:47  [ТС] 18
а к какой это задаче??
0
Эксперт С++
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
23.02.2010, 15:52 19
Последний пост?
4)Даны два целых числа a и b (a>=b>=0). Определите наибольший общий делитель этих чисел.
0
0 / 0 / 0
Регистрация: 23.02.2010
Сообщений: 9
26.02.2010, 15:19  [ТС] 20
Контрольная №2:
1)Для вещественного числа X вычислите y=cosx/1+e-x+1/x1+e-1-x+inx/sinx(1+e-x) . Используйте функцию для упрощения записи данного выражения.
Входные данные:
Одно вещественное число x .
Выходные данные:
Одно вещественное число y , являющееся решением данной задачи.
2)Дано n(n>=2) натуральных чисел x1,x2,x3,…,xn(x1>=x2>=x3>=…>=xn>=0). Найдите их наибольший общий делитель. Для решения данной задачи, напишите и используйте функцию НОД(a,b) для нахождения наибольшего общего делителя двух целых чисел a и b (a>=b>=0) . Тогда, например, НОД(a,b,c)=НОД(НОД(a,b),c).
Входные данные:
Целые числа, заданных в одной строке через пробел. Первое число n - и следующие за ним n целых чисел x1,x2,…,xn .
Выходные данные:
Одно целое число, являющееся наибольшим общим делителем чисел x1,x2,…,xn .
4) Напишите программу, использующую рекурсивную функцию для вычисления k-го члена последовательности Фибоначчи. Последовательность Фибоначчи f1,f2,…. образуется по закону f1=1,f2=1,fi=fi-1(i=3,4,..) .
Входные данные:
Целое, положительное число k (k>0).
Выходные данные:
Одно целое число fk, являющееся k-м членом последовательности Фибоначчи.
5) Напишите программу, использующую рекурсивную функцию, которая определяет является ли заданное натуральное число простым.
Входные данные:
Натуральное число x.
Выходные данные:
Сообщение YES, если число является простым числом. И сообщение NO в противном случае. Сообщение выводится в одной строке заглавными латинскими буквами.
6) Напишите программу, генерирующую все простые числа не превосходящие натурального числа k. Для реализации данной программы используйте определение простого числа.
Простое число - это натуральное число, которое имеет ровно два натуральных делителя (только 1 и самого себя).
Входные данные:
Натуральное число k.
Выходные данные:
Последовательность всех простых чисел не превосходящих k в порядке возрастания. Числа выводятся в одну строку, через пробел. После последнего выведенного числа пробел ставится.
7) Напишите программу, генерирующую все простые числа не превосходящие натурального числа k. Для реализации данной программы используйте решето Эратосфена.
Входные данные:
Натуральное число k.
Выходные данные:
Последовательность всех простых чисел не превосходящих k в порядке убывания. Числа выводятся в одну строку, через пробел. После последнего выведенного числа пробел не ставится.
0
26.02.2010, 15:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.02.2010, 15:19
Помогаю со студенческими работами здесь

Наибольший общий делитель двух целых чисел
Написать программу, которая вычисляет наибольший общий делитель двух целых чисел. Пример: ...

Найти наибольший общий делитель целых чисел х и у
Наибольший общий делитель целых чисел х и у по величине число, равномерно делит оба х и у. Написать...

Определить наибольший общий делитель двух чисел
Определить наибольший общий делитель для двух чисел A и B. Числа A и B вводятся пользователем с...

Найти наибольший общий делитель двух чисел
Задача &quot;Длинный НОД&quot; Даны два числа. Найти их наибольший общий делитель. Входные данные Вводятся...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru