Задача B. Количество нулей
Дано натуральное число N. Напишите функцию int NumberOfZeroes(int n), определяющую количество нулей среди всех цифр числа N.
- int NumberOfZeroes( int n)
- int count = 0;
- while (n)
- if (n % 10 == 0)
- count++;
- n /= 10;
- >
- return count;
- >
Задача C. Минимальная и максимальная цифры
Дано натуральное число N. Напишите функцию int MinDigit (int n) и int MaxDigit (int n), определяющие наименьшую и наибольшую цифры данного числа.
Необходимо вывести наименьшую и наибольшую цифры данного числа через пробел.
- int MinDigit ( int n)
- int cur;
- int min_n = 9;
- while (n)
- cur = n % 10;
- min_n = min(min_n,cur);
- n /= 10;
- >
- return min_n;
- >
- int MaxDigit ( int n)
- int cur;
- int max_n = 0;
- while (n)
- cur = n % 10;
- max_n = max(max_n,cur);
- n /= 10;
- >
- return max_n;
- >
Задача D. Двоичная запись
21 Цикл while. Нахождение всех делителей числа Python
Дано натуральное число N. Выведите его представление в двоичном виде в обратном порядке.
- int n;
- cin >> n;
- while (n)
- cout
- n >>= 1;
- >
- cout
Задача E. Обращение числа
Напишите функцию int reverse(int n), которая переставляет цифры числа в обратном порядке .
Вариант 1. Если перевернутое число не требуется оформлять как отдельную переменную, то можно, просто откусывая последние цифры исходного числа, выписывать их в строку вывода .
- int reverse( int n)
- do
- cout
- n /= 10;
- >
- while (n);
- return 0;
- >
Вариант 2. Но можно и завести отдельную переменную под перевертыш, тогда появится возможность при необходимости использовать результат в дальнейшем.
- int reverse( int n)
- int rev = 0;
- do
- rev = rev * 10 + n % 10;
- n /= 10;
- >
- while (n);
- return rev;
- >
Задача F. Количество палиндромов
Назовем число палиндромом, если оно не меняется при перестановке его цифр в обратном порядке. Напишите функцию bool IsPalindrome (int n), проверяющую по данному числу n, является ли оно палиндромом.
Напишите программу, которая по заданному числу K выводит количество натуральных палиндромов, не превосходящих K.
- bool IsPalindrome ( int cur)
- int base = cur;
- int rev = 0;
- while (cur)
- rev = rev * 10 + cur % 10;
- cur /= 10;
- >
- if ( base == rev)
- return true ;
- else
- return false ;
- >
- int main()
- freopen( «input.txt» , «r» ,stdin);
- freopen( «output.txt» , «w» ,stdout);
- int n;
- cin >> n;
- int cur = 1, count = 0;
- while (cur
- if (IsPalindrome (cur))
- count++;
- cur++;
- >
- cout
Источник: cpptasksolver.blogspot.com
Пишем программу: нахождения НОД и НОК двух чисел | Алгоритм Евклида
Помогите решить задачу на C++
Составить программу, которая для любого натурального числа печатает
количество цифр в записи этого числа.
Или вот эту:
Напишите программу, которая читает натуральное число в десятичном
представлении, а на выходе выдает это же число в десятичном представлении и на
естественном языке. Например: 7 — семь, 204 — двести четыре, 52 — пятьдесят два.
Обе должны использовать оператор выбора switch.
nayman
Создатель
Примерно вот так:
# include
# include
unsigned int y, n1, n2;
void main ()
switch (n1)
< case 1:
switch (n2)
< case 0: printf(«desyat`»); break;
case 1: printf(«odinnadcat`»); break;
case 2: printf(«dvenadcat`»); break;
case 3: printf(«trinadcat`»); break;
case 4: printf(«chetirnadcat`»); break;
case 5: printf(«piatnadcat`»); break;
case 6: printf(«shestnadcat`»); break;
case 7: printf(«semnadcat`»); break;
case 8: printf(«vosemnadcat`»); break;
case 9: printf(«deviatnadcat`»); break;
>;
break;
case 2: printf(«dvadcat`»); break;
case 3: printf(«tridcat`»); break;
case 4: printf(«sorok»); break;
case 5: printf(«piat`desiat»); break;
case 6: printf(«shest`desiat»); break;
case 7: printf(«semdesiat»); break;
case 8: printf(«vosemdesiat»); break;
case 9: printf(«devianosto»); break;
>;
if (n1!=1)
switch (n2)
< case 1: printf(«odin»); break;
case 2: printf(«dva»); break;
case 3: printf(«tri»); break;
case 4: printf(«chetire»); break;
case 5: printf(«piat`»); break;
case 6: printf(«shest`»); break;
case 7: printf(«sem`»); break;
case 8: printf(«vosem`»); break;
case 9: printf(«deviat`»); break;
>
>
Roflmao123
Писатель
You should do your homework yourself or else you won’t learn anything.
lexxh6
Создатель
Составить программу, которая для любого натурального числа печатает
количество цифр в записи этого числа.
Вот:
#include
#include
#include
#define MAXC 100
main() char s[MAXC];
int c,i=0,n,k=0;
while ((c=getchar())isdigit(c))
s[i++] =c;
s=’