էտ ձև սկի 50-ինն էլ չի հաշվում
Եթե պետք է մեծ թվեր հաշվել, օգտագործիր 64 բիթանոց փոփոխական, այսինքն long long տիպը: double-ը ևս 64 բիթ է, բայց ամբողջ թվերով հանրահաշվական գործողություն անելիս ցանկալի չէ օգտագործել:
Կոդ:#include <iostream> using namespace std; int main() { unsigned long long res = 1; unsigned long long n; cin>>n; for (int i = 2; i<=n; i++) res*=i; cout<<res<<endl; return 0; }
long long -ով չի լինում ( Microsoft Visual Studio 6.0 ) , գրում ա
--------------------Configuration: Factorial v2 - Win32 Debug--------------------
Compiling...
C1.CPP
e:\hrant\vb & c++\c ++\console\factorial v2\c1.cpp(10) : error C2632: 'long' followed by 'long' is illegal
Error executing cl.exe.
Factorial v2.exe - 1 error(s), 0 warning(s)
Կարելի է օգտագործել __int64 տիպը ( Microsoft Visual Studio 2008 )
Բայց ամենալավ արդյունքը ( առանց հատուկ կլասներ կազմելու ) կստացվի այս դեպքում
Կոդ:#include<iostream.h> #include<cstdlib> #include<stdio.h> // Hashvum a tveri factorial@ ( minchev 170 ) int main () { unsigned short n ; double result = 1 ; cout << "Mutqagreq inch vor tiv , vor stanaq ayd tvi factorial@" << endl << endl; cin >> n ; cout << endl; for ( short i=1;i <= n;i++) result*=i; printf("Aha ayd tvi factorial@ ____ "); printf ("%f",result); cout << endl << endl; system("pause"); return 0; }
Ժող մի հատ ծրագիր եմ գրում, մեջը պետք ա կոնկրետ connection-ի ստատիստիկան: Ասենք Local Area Connection-ից մի վարկյանում 80 kb/s բեռնվեց, հաջորդ վարկյանում 65 kb/s, … Էտ ծրագրային ոնց կարելի ա իրականացնել?
Մարդը լինելը լավ բան ա, բայց երկու ոտքի վրա կանգելը դեռ չի նշանակում որ դու մարդ ես:
Ամենակարևորը էս կյանքում մարդ լինելն ա, մնացած ամենինչը երկրորդական ա:
ԷԼ ԿՅԱՆՔՈՒՄ ԷՍ ՖՈՐՈՒՄԸ ՉԵՄ ՄՏՆԵԼՈՒ
Էդ ձևով կստանաք
բայց իրականում պիտի լիներ72574156153079940000...000Վերևում արդեն գրել էի, որ ճշտության մեջ կորուստ կա, այսինքն իմաստ ունեցող նիշերի քանակը բավարար չի: Իսկ եթե ուզում եք ճիշտ հաշվել, պիտի օգտագործեք ամբողջ թվեր:72574156153079989673967282111292631147169916812964513765435777989005618434017061578523507492426174595114909912378385207766660225654427530253 28900773207510902400430280058295603966612599658257104398558294257568966313439612262571094946806711205568880457193340212661452800000000000000 000000000000000000000000000
Այս պահին թեմայում են 1 հոգի. (0 անդամ և 1 հյուր)
Էջանիշներ