Пожалуйста помогите Написать код на С++
1)Для заданных натуральных чисел a и b вычислить их наибольший общий делитель НОД(a.b), используя алгоритм Евклида:
НОД(a,b)=a eсли b=0
НОД(a,b)=b если a=0
НОД(a,b)= НОД(a mod b,b) если a>b и b не = 0
НОД(a,b)= НОД(a,b mod a) если a<b и a не = 0
2)С
клавиатуры вводится строка символов, представляющая собой предложение со
знаками препинания (точка, запятая, восклицательный знак). Вывести на
экран все слова данного предложения, не содержащие цифр.
Ответы на вопрос
Ответил yuliagal
0
Задача 1.
#include <iostream>
using namespace std;
int euclid(int a, int b)
{
int t;
while (b != 0) {
t = b;
b = a%b;
a = t;
}
return a;
while (a != b)
if (a > b)
a -= b;
else
b -= a;
if (b = 0)
return a;
else
return euclid(b,a%b);
}
int main(){
int a, b;
cin >> a >> b;
cout << euclid(a, b) << endl;
return 0;
}
Задача 2.
#include <iostream>
#include <string>
using namespace std;
void main(){
const char separator[] = " !.,";
char s[256];
char *ptr = NULL;
int i;
cin.getline(s,256);
ptr = strtok(s, separator);
while (ptr) {
for (i = 0; i < strlen(ptr); ++i)
if (isdigit(ptr[i])!=0)
break;
if (i == strlen(ptr))
cout << ptr << "n";
ptr = strtok(0, separator);
}
}
#include <iostream>
using namespace std;
int euclid(int a, int b)
{
int t;
while (b != 0) {
t = b;
b = a%b;
a = t;
}
return a;
while (a != b)
if (a > b)
a -= b;
else
b -= a;
if (b = 0)
return a;
else
return euclid(b,a%b);
}
int main(){
int a, b;
cin >> a >> b;
cout << euclid(a, b) << endl;
return 0;
}
Задача 2.
#include <iostream>
#include <string>
using namespace std;
void main(){
const char separator[] = " !.,";
char s[256];
char *ptr = NULL;
int i;
cin.getline(s,256);
ptr = strtok(s, separator);
while (ptr) {
for (i = 0; i < strlen(ptr); ++i)
if (isdigit(ptr[i])!=0)
break;
if (i == strlen(ptr))
cout << ptr << "n";
ptr = strtok(0, separator);
}
}
Новые вопросы
Математика,
2 года назад