151 条题解
-
0wangzhongtao LV 9 @ 2015-02-01 19:18:14
此题很水,步步模拟既可
c++ code
#include<cstdio>
using namespace std;
int main()
{
int n,sum=1,i=1,j=1;
bool p=0;
scanf("%d",&n);
while (n!=sum)
{
if ((p?j-1:i-1)!=0)
p?(++i,--j):(--i,++j);
else
{
p?++i:++j;
p=!p;
}
++sum;
}
printf("%d/%d\n",i,j);
return 0;
} -
02014-08-12 14:33:17@
#include<iostream>
using namespace std;
main()
{
long long n,x,i=0,sum=0,j,z,m;
cin>>n;
do
{
i++;
sum+=i;
}
while(sum<n);
j=i-1;
z=j-sum+n+1;
m=sum-n+1;
if(j%2!=0)
if(m==1)
cout<<z;
else
cout<<z<<"/"<<m;
else
if(z==1)
cout<<m;
else
cout<<m<<"/"<<z;
} -
02014-06-26 15:48:02@
program cantor;
var n,x,i,sum,j,z,m:int64;
begin
readln(n);
i:=0;sum:=0;
repeat
i:=i+1;
sum:=sum+i;
until sum>=n;
j:=i-1;
z:=j-(sum-n)+1;
m:=1+(sum-n);
if j mod 2<>0 then
if m=1 then
writeln(z)
else writeln(z,'/',m)
else if z=1 then
writeln(m)
else writeln(m,'/',z);
end. -
02014-04-10 17:17:22@
program p1333;
var
a,b,c,i,j:longint;
begin
read(a);c:=a;
b:=1;
while c>0 do begin
dec(c,b);
inc(b);
end;
if c=0 then begin writeln(1,'/',b-1);halt;end;
c:=c+b;dec(b);
if b mod 2=0 then writeln(c-1,'/',b-c+2)else
writeln(b-c+2,'/',c-1);
end. -
02014-01-07 19:35:12@
不是很难,只要分析一下,然后数学要求也不是很高.当然,可以用*数学优化*,**但是好这道题范围较小,无需优化了.**
-
02013-11-07 10:23:35@
var
i,j,n,k,b:longint;
f:boolean;
begin
readln(n); f:=false;
for k:=1 to n do
begin
for b:=1 to k do
begin
n:=n-1;
if n=0 then begin f:=true;i:=b;break; end;
end;
if f then begin j:=k;break; end;
end;
if j mod 2=0 then writeln(i,'/',j-i+1)
else writeln(j-i+1,'/',i);
end. -
02013-10-17 17:14:00@
var n,a,b,c,q:longint;
i:integer;
begin
read(n);
for i:=1 to 10000 do
if n<=(2*i*i-i) then begin
q:=i;
break;
end;
a:=2*q-1;
b:=n-(2*(q-1)*(q-1)-(q-1));
if b>a then b:=2*a-b;
for i:=1 to 10000 do
if n<=(2*i*i+i) then begin
q:=i;
break;
end;
a:=2*q;
c:=n-(2*(q-1)*(q-1)+(q-1));
if c>a then c:=2*a-c;
writeln(b,'/',c);
end. -
02013-10-08 19:54:00@
明明是这么一道水题,我居然4次WA。。。
我模拟了1-9数据都是对的,以为就没错了,交上去就WA。
一开始果断以为是精度不够,加了发现依然WA。
再发现自己斜杠打反了,改掉又一次WA。
再回来跑了一下数据,发现第10组开始出错。。。
再差一下发现少打一行i++。。。不能更悲催了。。。
C++ Code:
#include <iostream>
using namespace std;
int main(){
long long n;
cin>>n;
long x=1;
long y=1;
long now=1;
long i=1;
while(1){
if(now==n){
break;
}
now++;
x++;
if(now==n){
break;
}
for(long k=1;k<=i;k++){
x--;
y++;
now++;
if(now==n){
break;
}
}
i++;
if(now==n){
break;
}
y++;
now++;
if(now==n){
break;
}
for(long k=1;k<=i;k++){
x++;
y--;
now++;
if(now==n){
break;
}
}
i++;
if(now==n){
break;
}
}
cout<<y<<'/'<<x;
} -
02013-08-25 19:09:05@
坑AC率的,手测全对交上去全错
-
02013-07-22 18:52:37@
AC的第50道
-
02013-05-31 19:06:08@
program shulie;
var i,q,w,k:longint;
beginreadln(k);
case k of
1:begin writeln('1/1'); end;else begin
for i:=1 to 4472 do
if ((1+i)*i)div 2>=k then begin q:=i; break; end;
w:=k - ((q*(q-1))div 2);
if odd(q) then writeln(q-w+1,'/',w)
else writeln(w,'/',q-w+1); end;
end;end.
-
02013-04-18 10:04:09@
呆呆
第一次居然没考虑Z 字型 -
02012-11-09 09:40:54@
这么水的题WA了2次才过。。。。确实大意了。。。。
明日NOIP,见一水题,刷之以应决赛!
点这里查看程序源码+详细题解
-
02012-11-04 22:19:07@
水题,睡前把它刷了
var
i,j,k,l,m,n,o,p:longint;
begin
readln(n);
for i:=1 to maxlongint do
begin
if p+i>=n then break;
p:=p+i;
end;
inc(i);
if odd(i) then writeln(n-p,'/',i-(n-p))
else writeln(i-(n-p),'/',n-p)
end. -
02012-10-12 19:26:01@
program P1333;
var
n,i,j,k,m:longint;
l:real;
begin
read(n);
for i:=1 to n do
begin
j:=j+i;
k:=k+1;
if j>=n then break;
end;
m:=k+1;
l:=n-0.5*(k-1)*k;
if k mod 2=0 then write(trunc(l),'/',trunc(m-l)) else write(trunc(m-l),'/',trunc(l));
end.
16行...... -
02012-08-19 18:10:25@
模拟也能过~~~~~~~
太水了
var n,k,i,j:longint;
begin
readln(n);
k:=0;
i:=1;
while kn do
begin
inc(i);
for j:=1 to i-1 do
begin
inc(k);
if k=n then break;
end;
if (j -
02010-04-15 18:59:36@
我的程序瘦瘦的,36行,589B
-
02010-03-18 23:05:47@
water!又见water!不过还是栽了坑!把'/'打成了'\'
-
02009-11-09 11:23:51@
这个…………坎为水,大凶。
哥果断抄代码悲剧了。
-
02009-11-06 20:50:20@
第200题。。。