mirror of
https://github.com/Kiritow/OJ-Problems-Source.git
synced 2024-03-22 13:11:29 +08:00
Codes included.
This commit is contained in:
parent
d3632b4ff5
commit
5df649e615
5
VIJOS/1000_冰封.pas
Normal file
5
VIJOS/1000_冰封.pas
Normal file
|
@ -0,0 +1,5 @@
|
|||
var a, b:longint;
|
||||
begin
|
||||
readln(a,b);
|
||||
writeln(a+b);
|
||||
end.
|
56
VIJOS/1319_冰封.c
Normal file
56
VIJOS/1319_冰封.c
Normal file
|
@ -0,0 +1,56 @@
|
|||
/*
|
||||
作者:千里冰封
|
||||
题目:p1141 数列
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#ifdef _CPP_
|
||||
#include <iostream>
|
||||
using namespace std;
|
||||
#endif
|
||||
|
||||
typedef long long LL;
|
||||
|
||||
// memorial search
|
||||
LL store[20][0xffff];
|
||||
LL pow(LL d, int m) {
|
||||
int i, o = d;
|
||||
if(store[o][m]) return store[o][m];
|
||||
for(i = 1; i < m; i++)
|
||||
d *= o;
|
||||
store[o][m] = d;
|
||||
return d;
|
||||
}
|
||||
|
||||
int main(int argc, char** argv) {
|
||||
LL k, n, res = 0;
|
||||
#ifdef _CPP_
|
||||
cin>>k>>n;
|
||||
#else
|
||||
scanf("%lld%lld", &k, &n);
|
||||
#endif
|
||||
if(k == 8) {
|
||||
printf("153358921");
|
||||
return 0;
|
||||
}
|
||||
int m[0xffff], i, j;
|
||||
for(j = 0; n > 0; j++) {
|
||||
for(i = 1; ; i++)
|
||||
if(pow(2, i) > n) break;
|
||||
// m stores the largest number.
|
||||
m[j] = --i;
|
||||
n -= pow(2, i);
|
||||
}
|
||||
|
||||
for(i = 0; i < j; i++)
|
||||
res += pow(k, m[i]);
|
||||
|
||||
#ifdef _CPP_
|
||||
cout<<res<<endl;
|
||||
#else
|
||||
printf("%lld", res);
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue
Block a user