C++

Статус
Not open for further replies.

dakata__92

Super Moderator
Здравейте ! Незнаех къде да попитам затова ще питам тук . Имам задача която трябва да направя на C++ , но нещо не ми се получава :(
Това е задачата, но някъде греша... Като цяло се търси фактуриел на стойностите от m до n , като чета текста и :
(Да се изчисли сумата на целите числа от m до n, където m <= n.) така си го обеснявам.
Код:
#include <iostream.h>
int main()
{
	int m,n,i;
	cout<<"Vavedete stoinost na m i n :";
	cin>>m>>n;
	for(i=m;i<=n;i++)
	{
   	m=m+i;
   	cout <<m<< "proba" << endl;
	}
	return 0;
}
 

amgcompany

Registered
Код:
#include <iostream>

using namespace std;

int main()
{
    int m,n;
    long long f=1,s=0;
    cin>>m>>n;

    for(int i=m;i<=n;i++)
    {
        f=f*i;
        cout<<i<<"!"<<" "<<f<<endl;
        s+=i;
    }
    cout<<"The sum from M to N is "<<s<<endl;
    return 0;
}

Тук са ти факториелите от М до N и сумата на числата от М до N. Това работи ако искаш да смяташ факториели, които са до 20 цифри, ако искаш повече, ще трябва да се напише с низове
 

dakata__92

Super Moderator
Изписва ми тези 2 грешки:
Какво значат и как да ги оправя ?
4370167I.png
 

dakata__92

Super Moderator
Ето това ми трябваше , много благодаря :)
Код:
#include <iostream.h>
int main()
{
    int m,n;
    long s=0;
    cout<<"Vavedete stoinosti za m , n :";
    cin>>m>>n;
    for(int i=m;i<=n;i++)
    {

        cout<<i<<"!"<<endl;
        s+=i;
    }
    cout<<"Sumata ot M do N e "<<s<<endl;
    cin>>m;
    return 0;
}
 

B13_Savage

Registered
Не че е по темата, но ето и един начин за compile time смятане, при условие че m и n са известни :)

Код:
template<int m>
struct S
{
	static const int value = m + S<m - 1>::value;
};

template<>
struct S<0>
{
	static const int value = 0;
};

int main()
{
	const int m = 0;
	const int n = 5;
	cout<< S<m>::value - S<n>::value;
	return 0;
}
 

amgcompany

Registered
dakata__92 каза:
Ето това ми трябваше , много благодаря :)
Код:
#include <iostream.h>
int main()
{
    int m,n;
    long s=0;
    cout<<"Vavedete stoinosti za m , n :";
    cin>>m>>n;
    for(int i=m;i<=n;i++)
    {

        cout<<i<<"!"<<endl;
        s+=i;
    }
    cout<<"Sumata ot M do N e "<<s<<endl;
    cin>>m;
    return 0;
}
Това няма нищо общо с факториел
 
Статус
Not open for further replies.

Горе