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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 45, средняя оценка - 4.87
Boginy
0 / 0 / 0
Регистрация: 23.02.2010
Сообщений: 9
#1

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

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

Привет,всем!!!Я учусь в колледже информатики и мы только начали изучать Си и нам дали электронную контрольную работу,но когда я отправляю свои решения он говорит,что решено не правильно,поэтому прошу у вас помощи ведь отправить надо сегодня до 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 рублей.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.02.2010, 10:07     Определите наибольший общий делитель чисел
Посмотрите здесь:

C++ Наибольший общий делитель двух целых чисел
Найти наибольший общий делитель трех чисел C++
Наибольший общий делитель двух натуральных чисел C++
C++ НОД (наибольший общий делитель) n-го количества чисел
C++ Найти наибольший общий делитель двух чисел
Найти наибольший общий делитель чисел C++
Найти наибольший общий делитель двух чисел C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nameless One
Эксперт С++
5765 / 3414 / 255
Регистрация: 08.02.2010
Сообщений: 7,432
23.02.2010, 10:14     Определите наибольший общий делитель чисел #2
Ты лучше приведи свои решения, и тебе скажут, что не так

Добавлено через 1 минуту
Цитата Сообщение от Boginy Посмотреть сообщение
(n&gt;=10)
вот это, к примеру, что значит?
Boginy
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;
}
Nameless One
Эксперт С++
5765 / 3414 / 255
Регистрация: 08.02.2010
Сообщений: 7,432
23.02.2010, 10:28     Определите наибольший общий делитель чисел #4
Цитата Сообщение от Boginy Посмотреть сообщение
int a=m div 10;
А у тебя эту строчку вообще компилятор пропускает? В C/C++ операция div для целых чисел выполняется оператором /, т.е. эту строку нужно заменить на
C++
1
int a=m/10;
А так все вроде бы правильно

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

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

Не по теме:

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

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

Добавлено через 1 минуту
Не по теме:
У меня сейчас только 13:30 дня)))
Nameless One
Эксперт С++
5765 / 3414 / 255
Регистрация: 08.02.2010
Сообщений: 7,432
23.02.2010, 10:30     Определите наибольший общий делитель чисел #6
upd, в 9 строке ошибка, вместо pritf нужно printf
Boginy
0 / 0 / 0
Регистрация: 23.02.2010
Сообщений: 9
23.02.2010, 10:32  [ТС]     Определите наибольший общий делитель чисел #7
упс))
Nameless One
Эксперт С++
5765 / 3414 / 255
Регистрация: 08.02.2010
Сообщений: 7,432
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;
}
Boginy
0 / 0 / 0
Регистрация: 23.02.2010
Сообщений: 9
23.02.2010, 10:34  [ТС]     Определите наибольший общий делитель чисел #9
сайт включили!все равно говорит неверно....
Nameless One
Эксперт С++
5765 / 3414 / 255
Регистрация: 08.02.2010
Сообщений: 7,432
23.02.2010, 10:40     Определите наибольший общий делитель чисел #10
Может я чего не понял?
К примеру, дано число 475, в результате должно получиться 574?
Boginy
0 / 0 / 0
Регистрация: 23.02.2010
Сообщений: 9
23.02.2010, 10:42  [ТС]     Определите наибольший общий делитель чисел #11
(n&gt;=10) это n>=10

Добавлено через 2 минуты
все правильно ты понял....
Nameless One
Эксперт С++
5765 / 3414 / 255
Регистрация: 08.02.2010
Сообщений: 7,432
23.02.2010, 10:46     Определите наибольший общий делитель чисел #12
Цитата Сообщение от Boginy Посмотреть сообщение
Добавлено через 2 минуты
все правильно ты понял....
Странно, программа все считает правильно, см. здесь результат
Boginy
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 в противном случае. Сообщение выводится в одной строке заглавными латинскими буквами.
ancara
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");
}
Nameless One
Эксперт С++
5765 / 3414 / 255
Регистрация: 08.02.2010
Сообщений: 7,432
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 Посмотреть сообщение
как мне рисунок вставить?
Вставить куда?
Sekt
156 / 155 / 10
Регистрация: 29.04.2009
Сообщений: 637
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;
}
Nameless One
Эксперт С++
5765 / 3414 / 255
Регистрация: 08.02.2010
Сообщений: 7,432
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;
}
Boginy
0 / 0 / 0
Регистрация: 23.02.2010
Сообщений: 9
23.02.2010, 15:47  [ТС]     Определите наибольший общий делитель чисел #18
а к какой это задаче??
Nameless One
Эксперт С++
5765 / 3414 / 255
Регистрация: 08.02.2010
Сообщений: 7,432
23.02.2010, 15:52     Определите наибольший общий делитель чисел #19
Последний пост?
4)Даны два целых числа a и b (a>=b>=0). Определите наибольший общий делитель этих чисел.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.02.2010, 15:19     Определите наибольший общий делитель чисел
Еще ссылки по теме:

C++ Найти наибольший общий делитель двух чисел
Наибольший общий делитель 2х целых чисел C++
C++ Найти наибольший общий делитель целых чисел х и у
Найти наибольший общий делитель двух чисел C++
C++ Наибольший общий делитель для двух чисел

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

Или воспользуйтесь поиском по форуму:
Boginy
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 в порядке убывания. Числа выводятся в одну строку, через пробел. После последнего выведенного числа пробел не ставится.
Yandex
Объявления
26.02.2010, 15:19     Определите наибольший общий делитель чисел
Ответ Создать тему
Опции темы

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