7.30π_π no.5(信息學競賽培訓)
阿新 • • 發佈:2017-07-31
while 數值 ati std cout cor clu borde span
}
if(t/(sum/10)==0)
cout<<‘0‘;
cout<<t<<endl;
for(int i=3;i<=x;i++)
{
c=a+b;
a=b;
b=c;
}
cout<<c<<endl;
return 0;
}
求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(信息學競賽培訓)