Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Пiдскажiть,як прописати цикл знаходження добутку цифр на с++

86K
15 октября 2013 года
Kristian
5 / / 12.10.2013
Пiдскажiть,як прописати цикл знаходження добутку цифр на с++
86K
16 октября 2013 года
Kristian
5 / / 12.10.2013
Вот уже сам решыл...))) както так...

#include<iostream>
#include<conio.h>
using namespace std;
int main(void)
{
setlocale(0,"");
int n,m,s=0;
cout<<"Ââåäiòü ÷èñëî: ";
cin>>n;
m=n;
while(m>=0)
{
s+=n%10;

m/=10;
s=s*m;

cout<<"Suma cifr: "<<s<<endl;
getch();
return 0;

}
}
326
15 октября 2013 года
sadovoya
757 / / 19.11.2005
Произведение в цикле? Например, факториал 1500! = 1500*1499*...1 таким кодом найти можно:

 
Код:
#include <iostream>

int main()
{
    int i = 1500;
    long double product = 1;
    while(i) product*=i--;
    std::cout << product << std::endl;
    return 0;
}
326
17 октября 2013 года
sadovoya
757 / / 19.11.2005
Код:
//Произведение и сумма цифр числа
//===============================
#include <iostream>

using namespace std;

int main()
{

    int m;
    cout << "m = ";
    cin >> m;
   
    int prod = 1, sum = 0, k;
    while (prod *= (k = m%10), sum += k, m/=10){ }

    cout << "Product = " << prod << endl;
    cout << "Summa = " << sum << endl;
    return 0;
}
Можно цикл заменить и на такой:

 
Код:
do {
        k = m%10;
        prod *= k;
        sum += k;
    } while (m/=10);
326
18 октября 2013 года
sadovoya
757 / / 19.11.2005
Можно еще с помощью atoi(). Особенно для длинных чисел полезно. Вот на примере суммы:

Код:
//Сумма цифр в записи числа (целого положительного)

#include <cstdlib>
#include <cstdio>

int main() {

    char num[] = "120345123450123450000123450000";

    char *n = num, nc[]= {1,'�'};
    unsigned sum = 0;
    while((nc[0]= *n++) /*присваивание*/) sum+= atoi(nc);

    printf("Summa is %un", sum);

    return 0;

}
P.S. Ошибки при вставке кода: в инициализации массива nc внутри ' ' должен быть обратный слеш и ноль. А в printf обратный слеш должен быть между %u и n.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог