Pagini recente » Cod sursa (job #366883) | Cod sursa (job #2143289) | Cod sursa (job #3275064) | Cod sursa (job #172640) | Cod sursa (job #1925564)
#include <cstdio>
#include <cstring>
using namespace std;
int a[100005], b[100005], c[100005];
char s[100001];
int main()
{
freopen("sarpe.in", "r", stdin);
freopen("sarpe.out", "w", stdout);
scanf("%s", s);
int L = strlen(s);
if(L == 1 && s[0] == '1'){
printf("2");
return 0;
}
for(int i = 1; i <= L ; ++i){
a[L - i + 1] = s[i - 1] - '0';
b[L - i + 1] = s[i - 1] - '0';
}
a[0] = b[0] = L;
c[0] = b[0] * 2;
for(int i = 1; i <= L ; ++i){
for(int j = 1; j <= L ; ++j)
c[i + j - 1] += 2 * b[i] * b[j];
}
for(int i = 1; i <= L ; ++i)
c[i] = c[i] - a[i] * 2;
c[1] += 4;
int t = 0;
for(int i = 1; i <= c[0] ; ++i){
c[i] += t;
t = 0;
if(c[i] < 0){
while(c[i] < 0){
--t;
c[i] += 10;
}
}
else if(c[i] > 0){
t = c[i] / 10;
c[i] %= 10;
}
}
while(c[c[0]] == 0) --c[0];
for(int i = c[0]; i >= 1 ; --i)
printf("%d", c[i]);
return 0;
}