#include <iostream>
using namespace std;
int main() {
int N, s;
cin >> N;
s=1;
while (N>0){
s=s*(N%8);
N=N/8;
}
cout <<s;
return 0;
}
Поиск максимума/минимума
Вывести минимальную цифру натурального числа
#include <iostream>
using namespace std;
int main() {
int N, min, x;
cin >> N;
min=10;
while (N>0){
x=N%10;
if (x<min) min=x;
N=N/10;
}
cout <<min;
return 0;
}
Вывести максимальную цифру натурального числа
#include <iostream>
using namespace std;
int main() {
int N, max, x;
cin >> N;
max=-1;
while (N>0){
x=N%10;
if (x>max) max=x;
N=N/10;
}
cout <<max;
return 0;
}
Вывести максимальную цифру натурального числа N, меньшую 5.
#include <iostream>
using namespace std;
int main() {
int N, max, x;
cin >> N;
max=-1;
while (N>0){
x=N%10;
if (x>max && x<5) max=x;
N=N/10;
}
If (max!=-1)
cout <<max;
else
cout << «нет такой цифры»;
return 0;
}
Вывести минимальную цифру натурального числа N, кратную 3.
#include <iostream>
using namespace std;
int main() {
int N, min, x;
cin >> N;
min=10;
while (N>0){
x=N%10;
if (x<min && x%3==0) min=x;
N=N/10;
}
If (min!=10)
cout <<min;
else
cout << «нет такой цифры»;
return 0;
|
|
}
5. Вывести вторую максимальную цифру в натуральном числе N (N>100).
#include <iostream>
using namespace std;
int main() {
int N, max1, max2, x;
cin >> N;
max1=-1;
max2=-1;
while (N>0){
x=N%10;
if (x>max1) {
max2=max1;
max1=x;
}
else if (x<max1 && x>max2)
max2=x;
N=N/10;
}
if (max2!=-1 && max2!=max1)
cout << max2;
else
cout <<"нет второго максимума, т.к. число состоит из одинаковых цифр: " << max1;
return 0;
}
Вывести вторую минимальную цифру в натуральном числе N.
#include <iostream>
using namespace std;
int main() {
int N, min1, min2, x;
cin >> N;
min1=10;
min2=10;
while (N>0){
x=N%10;
if (x<min1) {
min2=min1;
min1=x;
}
else if (x>min1 && x<min2)
min2=x;
N=N/10;
}
if (min2!=10 && min2!=min1)
cout << min2;
else
cout <<"нет второго минимума, т.к. число состоит из одинаковых цифр: " << min1;
return 0;
}
Типовые алгоритмы
1. Поменять местами значения переменных a и b.
#include <iostream>
using namespace std;
int main() {
int a, b,c;
cin >> a >> b;
c=a;
a=b;
b=c;
cout <<a <<b;
return 0;
}
2. Нахождение НОД (изначально a>b).
Int a, b, r
cin >> a >> b;
while (b > 0)
{
r = a % b;
a = b;
b = r;
}
3. Нахождение НОД (2-й вариант)
int L, M;
cin >> L >> M;
while (L!= M)
{
if (L > M)
L = L - M;
else
M = M - L;
}
cout << M;