锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
//1858220 2009-05-07 11:33:22 Accepted 3175 C++ 70 184 aslys
// x*y = n ……
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int t;
cin>>t;
while(t--)
{
int i;
long long n,s,sum=0;
scanf("%lld",&n);
s = sqrt((double)n);
for(i = 1;i<=s;i++)
sum += n/i;
sum *= 2;
sum -= s*s;
sum -= n;
printf("%lld\n",sum);
}
return 0;
}
]]>
#include<iostream>
using namespace std;
int main()
{
int i,j,len=1,r=0,temp=0;
int a[201][400]=
{0};
a[1][0]=1;
for(i=2;i<=200;i++)//姹?……200鐨勯樁涔?/span>
{
for(j=0;j<len;j++)
a[i][j] = a[i-1][j] * i;
for(j=0,r=0;j<len;j++)
{
temp = a[i][j] + r;
a[i][j] = temp % 10;
r = temp /10;
}
while(r)
{
a[i][len++] = r%10;
r /= 10;
}
}
int m,n;
while(cin>>m>>n)
{
r = 0;
len = 400;//鏀規(guī)垚300灝遍敊浜?/span>
int b[500]=
{0};
for(j=0;j<len;j++)
{
temp = a[m+n][j]*(m+1-n) + r;
b[j] = temp % 10;
r = temp /10;
}
while(r)
{
b[len++] = r%10;
r /= 10;
}
for(j=len-1,r=0;j>=0;j--)
{ //闄ゆ硶浠庨珮浣嶅埌浣庝綅
temp=r*10+b[j];
b[j]=temp/(m+1);
r=temp%(m+1);
}
while(!b[len]) //澶勭悊楂樹綅鐨勯浂浣?/span>
len--;
for(i=m;i>1;i--)//闄!
{
for(j=len,r=0;j>=0;j--)
{ //闄ゆ硶浠庨珮浣嶅埌浣庝綅
temp=r*10+b[j];
b[j]=temp/i;
r=temp%i;
}
while(!b[len]) //澶勭悊楂樹綅鐨勯浂浣?/span>
len--;
}
for(i=n;i>1;i--)//闄!
{
for(j=len,r=0;j>=0;j--)
{ //闄ゆ硶浠庨珮浣嶅埌浣庝綅
temp=r*10+b[j];
b[j]=temp/i;
r=temp%i;
}
while(!b[len]) //澶勭悊楂樹綅鐨勯浂浣?/span>
len--;
}
for(j=len;j>=0;j--)
cout<<b[j];
cout<<endl;
}
return 0;
}
]]>
//C(0) = 1 ; (n+2)*C(n+1) = (4n+2)*C(n);
#include<iostream>
using namespace std;
int a[101][101]=
{0};
int main()
{
int n,i,j,len,r,temp,t;
int b[101];
a[1][0] = 1;
len = 1;
b[1] = 1;
for(i=2;i<=100;i++)
{
t = i-1;
for(j=0;j<len;j++) //涔樻硶
a[i][j] = a[i-1][j]*(4*t+2);
for(r=j=0;j<len;j++) //澶勭悊鐩鎬箻緇撴灉
{
temp = a[i][j] + r;
a[i][j] = temp % 10;
r = temp / 10;
}
while(r) //榪涗綅澶勭悊
{
a[i][len++] = r % 10;
r /= 10;
}
for(j=len-1,r=0;j>=0;j--) //闄ゆ硶
{
temp = r*10 + a[i][j];
a[i][j] = temp/(t+2);
r = temp%(t+2);
}
while(!a[i][len-1]) //楂樹綅闆跺鐞?/span>
len --;
b[i] = len;
}
while(cin>>n)
{
for(j=b[n]-1;j>=0;j--)
printf("%d",a[n][j]);
printf("\n");
}
return 0;
}
/**//*
1: 1
2: 2
3: 5
4: 14
5: 42
6: 132
7: 429
8: 1430
9: 4862
10: 16796
11: 58786
12: 208012
13: 742900
14: 2674440
15: 9694845
16: 35357670
17: 129644790
18: 477638700
19: 1767263190
20: 6564120420
21: 24466267020
22: 91482563640
23: 343059613650
24: 1289904147324
25: 4861946401452
26: 18367353072152
27: 69533550916004
28: 263747951750360
29: 1002242216651368
30: 3814986502092304
31: 14544636039226909
32: 55534064877048198
33: 212336130412243110
34: 812944042149730764
35: 3116285494907301262
36: 11959798385860453492
37: 45950804324621742364
38: 176733862787006701400
39: 680425371729975800390
40: 2622127042276492108820
41: 10113918591637898134020
42: 39044429911904443959240
43: 150853479205085351660700
44: 583300119592996693088040
45: 2257117854077248073253720
46: 8740328711533173390046320
47: 33868773757191046886429490
48: 131327898242169365477991900
49: 509552245179617138054608572
50: 1978261657756160653623774456
51: 7684785670514316385230816156
52: 29869166945772625950142417512
53: 116157871455782434250553845880
54: 451959718027953471447609509424
55: 1759414616608818870992479875972
56: 6852456927844873497549658464312
57: 26700952856774851904245220912664
58: 104088460289122304033498318812080
59: 405944995127576985730643443367112
60: 1583850964596120042686772779038896
61: 6182127958584855650487080847216336
62: 24139737743045626825711458546273312
63: 94295850558771979787935384946380125
64: 368479169875816659479009042713546950
65: 1440418573150919668872489894243865350
66: 5632681584560312734993915705849145100
67: 22033725021956517463358552614056949950
68: 86218923998960285726185640663701108500
69: 337485502510215975556783793455058624700
70: 1321422108420282270489942177190229544600
71: 5175569924646105559418940193995065716350
72: 20276890389709399862928998568254641025700
73: 79463489365077377841208237632349268884500
74: 311496878311103321137536291518809134027240
75: 1221395654430378811828760722007962130791020
76: 4790408930363303911328386208394864461024520
77: 18793142726809884575211361279087545193250040
78: 73745243611532458459690151854647329239335600
79: 289450081175264899454283846029490767264392230
80: 1136359577947336271931632877004667456667613940
81: 4462290049988320482463241297506133183499654740
82: 17526585015616776834735140517915655636396234280
83: 68854441132780194707888052034668647142985206100
84: 270557451039395118028642463289168566420671280440
85: 1063353702922273835973036658043476458723103404520
86: 4180080073556524734514695828170907458428751314320
87: 16435314834665426797069144960762886143367590394940
88: 64633260585762914370496637486146181462681535261000
89: 254224158304000796523953440778841647086547372026600
90: 1000134600800354781929399250536541864362461089950800
91: 3935312233584004685417853572763349509774031680023800
92: 15487357822491889407128326963778343232013931127835600
93: 60960876535340415751462563580829648891969728907438000
94: 239993345518077005168915776623476723006280827488229600
95: 944973797977428207852605870454939596837230758234904050
96: 3721443204405954385563870541379246659709506697378694300
97: 14657929356129575437016877846657032761712954950899755100
98: 57743358069601357782187700608042856334020731624756611000
99: 227508830794229349661819540395688853956041682601541047340
100: 896519947090131496687170070074100632420837521538745909320
*/
]]>
//嬈у嚑閲屽痙綆楁硶錛圗uclid錛?/span>
#include <iostream>
using namespace std;
int exgcd(int a, int b, int &x, int &y)//杈楄漿鐩擱櫎娉曟眰鏈澶у叕綰︽暟GCD
{
if(b == 0)
{
x = 1;
y = 0;
return a;
}
int r = exgcd(b, a % b, x, y);
int t = x;
x = y;
y = t - a / b * y;
return r;
}
int main()
{
int m,n,a,b,r;
while(scanf("%d%d",&a,&b)+1)
{
r=exgcd(a,b,m,n);
if(r==1)//鏈澶у叕綰︽暟涓?鏃?/span>
{
while(m<0)
{
m+=b;
n-=a;
}
printf("%d %d\n",m,n);
}
else printf("sorry\n");
}
return 0;
}
]]>
#include <iostream>
using namespace std;
#define SIZE 100
int main()
{
int a[101][SIZE]=
{0}; //鏁扮粍鐢ㄦ潵瀛樻斁緇撴灉
a[1][0]=1; //鍒濆鍖栫涓欏?nbsp;
int i,j,r=0,temp=0,len=1; //len 琛ㄧず褰撳墠鏈闀跨殑鏈夋晥浣嶆暟錛屽垵濮嬩負1
for(i=2;i<=100;i++) //浠庣浜岄」鍒扮100欏癸紝鐢ㄥ叕寮忚綆?/span>
{
for(j=0;j<len;j++) //---------------涔樻硶閮ㄥ垎------------------
{
a[i][j]=a[i-1][j]*(4*i-2); //涔樻硶浠庝綆浣嶅埌楂樹綅
}
for(j=0;j<len;j++) //瀵逛箻鍑虹殑緇撴灉榪涜澶勭悊錛屼笉鍖呮嫭鏈楂樹綅
{
temp=a[i][j]+r;
a[i][j]=temp%10;
r=temp/10;
}
while(r) //瀵規(guī)渶楂樹綅榪涗綅澶勭悊
{
a[i][len]=r%10;
r/=10;
len++;
}
//-----------------闄ゆ硶閮ㄥ垎-----------------
for(j=len-1,r=0;j>=0;j--)
{ //闄ゆ硶浠庨珮浣嶅埌浣庝綅
temp=r*10+a[i][j];
a[i][j]=temp/(i+1);
r=temp%(i+1);
}
while(!a[i][len-1]) //澶勭悊楂樹綅鐨勯浂浣?/span>
len--;
}
//-------------------------------------------
int n;
while(cin>>n&&n!=-1)
{
for(i=SIZE-1;!a[n][i];i--);
for(i;i>=0;i--)
cout<<a[n][i];
cout<<endl;
}
return 0;
}
]]>
//1323739 2009-04-30 15:27:35 Accepted 1133 15MS 580K 1116 B C++ no way
#include<iostream>
using namespace std;
int main()
{
int i,j,len=1,r=0,temp=0;
int a[201][400]=
{0};
a[1][0]=1;
for(i=2;i<=200;i++)//姹?……200鐨勯樁涔?/span>
{
for(j=0;j<len;j++)
a[i][j] = a[i-1][j] * i;
for(j=0,r=0;j<len;j++)
{
temp = a[i][j] + r;
a[i][j] = temp % 10;
r = temp /10;
}
while(r)
{
a[i][len++] = r%10;
r /= 10;
}
}
int m,n,cas=1;
while(cin>>m>>n)
{
if(m==0 && n==0)
break;
cout<<"Test #"<<cas++<<":"<<endl;
if(n>m)
{
cout<<0<<endl;
continue;
}
r = 0;
len = 400;//鏀規(guī)垚300灝遍敊浜?/span>
int b[500]=
{0};
for(j=0;j<len;j++)
{
temp = a[m+n][j]*(m+1-n) + r;
b[j] = temp % 10;
r = temp /10;
}
while(r)
{
b[len++] = r%10;
r /= 10;
}
for(j=len-1,r=0;j>=0;j--)
{ //闄ゆ硶浠庨珮浣嶅埌浣庝綅
temp=r*10+b[j];
b[j]=temp/(m+1);
r=temp%(m+1);
}
while(!b[len]) //澶勭悊楂樹綅鐨勯浂浣?/span>
len--;
for(j=len;j>=0;j--)
cout<<b[j];
cout<<endl;
}
return 0;
}
]]>