elyas74
سه شنبه 07 آبان 1392, 23:35 عصر
سلام،من یک کد از منبع سوال codeforses نوشتم ولی موقع ضرب 2 عدد بزرگ که با هم ضرب میشن،عدد یا درست نمایش داده نمیشن یا اشتباه حساب میشن،
ورودی سوال n و m طول و عرض محیطی هستند که قراره سنگفرش بشه و a طول هر سنگفرش مربع شکل و توضیح دیگه هم این که کُل محیط باید پوشش داده بشه حتی اگه سنگ بیرون بزنه و با این شرط ها کمترین تعداد سنگ فرش رو میخوایم،این کد منه
#include <iostream>
#include <cmath>
using namespace std ;
int main ()
{
long int m ,n ,a;
long sum,temp ,temp2 ;
cin>>m>>n>>a ;
if ( m % a == 0 )
temp = m/a ;
else temp = (m/a)+1 ;
if ( n % a == 0 )
temp2 = n/a ;
else temp2 = (n/a)+1 ;
sum = temp*temp2 ;
cout<< sum <<endl ;
}
برای ورودی های عادی مشکلی نیست ولی اگه m =1000000000 n =1000000000 a=193 باشه جواب غلطه:متفکر:،ممنون میشم از راهنماییتون
ورودی سوال n و m طول و عرض محیطی هستند که قراره سنگفرش بشه و a طول هر سنگفرش مربع شکل و توضیح دیگه هم این که کُل محیط باید پوشش داده بشه حتی اگه سنگ بیرون بزنه و با این شرط ها کمترین تعداد سنگ فرش رو میخوایم،این کد منه
#include <iostream>
#include <cmath>
using namespace std ;
int main ()
{
long int m ,n ,a;
long sum,temp ,temp2 ;
cin>>m>>n>>a ;
if ( m % a == 0 )
temp = m/a ;
else temp = (m/a)+1 ;
if ( n % a == 0 )
temp2 = n/a ;
else temp2 = (n/a)+1 ;
sum = temp*temp2 ;
cout<< sum <<endl ;
}
برای ورودی های عادی مشکلی نیست ولی اگه m =1000000000 n =1000000000 a=193 باشه جواب غلطه:متفکر:،ممنون میشم از راهنماییتون