중남대학 oj 1320 (대수 + 카트란 수)
1781 단어 수론
1320: Scoop water
Time Limit: 2 Sec
Memory Limit: 128 MB
Submit: 272
Solved: 63
[ Submit][ Status][ Web Board]
Description
zzy 는 오늘 두 개의 바가지 A 와 B 를 샀 는데 용량 이 모두 1 리터 이 고 동심 이 사라 지지 않 은 그 는 이 바가지 로 게임 을 할 계획 이다.
먼저 zzy 는 용량 이 무한대 로 볼 수 있 는 물독 을 준 비 했 습 니 다. 처음에는 물독 이 비 었 습 니 다. 그리고 바가지 A 로 물독 에 물 을 넣 고 바가지 B 로 물독 의 물 을 퍼 냈 습 니 다. 바가지 B 로 물 을 퍼 냈 을 때 물독 에는 적어도 1 리터 의 물이 있어 야 합 니 다.이렇게 N 번 바가지 A 를 사용 하고 N 번 바가지 B 를 사용 하면 결국 물독 은 비어 있 을 것 이다.
Input
파일 이 끝 날 때 까지 여러 개의 예 를 입력 하 십시오.
예 마다 하나의 숫자 N (0) 만 포함 합 니 다.
Output
모든 예 에 대해 하나의 수 를 출력 하 십시오. 모두 몇 가지 정확 한 물 푸 는 방식 으로 물 을 푸 는 과정 에서 B 바 가 지 를 사용 할 때 물독 에 충분 한 물이 있 음 을 나타 냅 니 다.
(숫자 가 크기 때문에 출력 된 답 은 1000000007 입 니 다)
Sample Input
1 2
Sample Output
1 2
#include
#include
#include
using namespace std;
struct node{
int num[2000];
int g;
}a[10010];
long long int f=1000000007;
void cheng(int t,int m) //
{
int k=0;
for(int i=0;i=0;i--)
{
k=k*10000+a[t].num[i];
a[t].num[i]=k/m;
k=k%m;
}
while(!a[t].num[a[t].g-1]) a[t].g--;
}
long long int qumo () / / 모드 추출
{
long long int k=0;
for(int i=a[0].g-1;i>=0;i--)
{
k=k*10000+a[0].num[i];
a[0].num[i]=k/f;
k=k%f;
}
return k;
}
int main()
{
int i,j,l;
long long int ans;
a[1].g=1;a[1].num[0]=1;
for(i=2;i<=10000;i++)
{
cheng(i,4*i-2);
chu(i,i+1);
}
while(scanf("%d",&i)>0)
{
a[0]=a[i];
ans=qumo();
printf("%lld",ans);
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[HDU 5608] functionProblem Description There is a function f(x),which is defined on the natural numbers set N,satisfies the following eqaut...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.