Дано число n . Вывести число, которое получается из числа n при удалении из него всех единиц. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Дано число n . Вывести число, которое получается из числа n при удалении из него всех единиц.



#include <iostream>

using namespace std;

int main() {

int N, s, a, p;

cin >>N;

s=0;

p=1;

while (N>0) {

   a=N%10;

   if (a!=1){

   s=s+a*p;

   p=p*10;

   }   

   N=N/10;

}

cout << s;

return 0;

}

 

7. Дано число N. Вывести число, которое получается из числа N при удалении из него всех единиц и записи оставшейся части справа-налево (задом-наперед).

#include <iostream>

using namespace std;

int main() {

int N, s, a;

cin >>N;

s=0;

while (N>0) {

   a=N%10;

   if (a!=1)

        s=s*10+a;

   N=N/10;

}

cout << s;

return 0;

}

 

 

8. Дано натуральное число N. Определить количество значащих цифр этого числа в двоичной системе счисления.

#include <iostream>

using namespace std;

int main() {

int N, count;

cin >> N;

count=0;

while (N>0){

   count++;

   N=N/2;

}

cout << count;

return 0;

}


 

9.   Дано натуральное число N. Определить количество единиц в двоичной записи этого числа.

#include <iostream>

using namespace std;

int main() {

int N, count;

cin >> N;

count=0;

while (N>0){

   if (N%2==1) count++;

   N=N/2;

}

cout << count;

return 0;

)

 

10.   Найти все делители натурального числа N, включая 1 и само число N.

Полный перебор от 1 до N Перебор от 1 до N/2
#include <iostream> using namespace std; int main() { int N, i, count; cin >> N; for (i=1; i<= N; i++) {    if (N%i==0) cout <<i << endl; } return 0; }   #include <iostream> using namespace std; int main() { int N, i, count; cin >> N; for (i=1; i<= N/2; i++) {    if (N%i==0) cout <<i << endl; } cout << N; return 0; }
Данный алгоритм производит проверок в два раза больше, чем алгоритм справа.   Данный алгоритм работает до N/2 и производит проверок в два раза меньше, чем алгоритм справа. Но нужно еще вывести число N, что делается за пределами цикла. Действительно, у числа 36 (четное) нет ни одного делителя в промежутке (18;36). Аналогично для числа 9 (нечетное) на промежутке (4;9).

Поиск максимума/минимума

Вывести минимальную цифру натурального числа

#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;

}

 



Поделиться:


Последнее изменение этой страницы: 2021-04-12; просмотров: 95; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.116.85.72 (0.007 с.)