1. 程式人生 > >7.30π_π no.5(信息學競賽培訓)

7.30π_π no.5(信息學競賽培訓)

while 數值 ati std cout cor clu borde span

求x個2011 相乘之後,最後y位的數字是多少?
x<=10^6, 1<=y<=5.

數值超過long long,用取余

a*b%m=(a%m)*(b%m)%m

#include<iostream>
using namespace std;
int main()
{
int x,y,a,i=1,t=1,k=1;
long long sum=1;
cin>>x>>y;
while(i<=y)
{
i++;
sum=sum*10;
}
while(k<=x)

{
k++;
t=t*2011%sum;


}
if(t/(sum/10)==0)
cout<<‘0‘;
cout<<t<<endl;

return 0;

}

已知一對兔子,每個月可以生一對小兔,而小兔經過一個月生長後也可每月生一對小兔,即新出生的兔子,在出生後的第三個月開始,每個月生一對兔子。
所以兔子的對數是:第一個月1對(老兔子),第二個月2對,第三個月3對,第四個月5對,…,假設兔子不死,問x個月後,一共有多少對兔子?x<=50.

賦值

#include<iostream>
using namespace std;
int main()
{
long long a,b,c,x;
cin>>x;
a=1;b=2;c=3;


for(int i=3;i<=x;i++)
{
c=a+b;
a=b;
b=c;
}
cout<<c<<endl;
return 0;
}

7.30π_π no.5(信息學競賽培訓)