Cantor表-(模拟)
链接:https://ac.nowcoder.com/acm/contest/1069/I
来源:牛客网
题目描述
我们以Z字形给上表的每一项编号。第一项是1/1,然后是1/2,2/1,3/1,2/2,…
输入描述:
整数N(1≤N≤10000000)
输出描述:
表中的第N项
输出
1/4 题解:斜着看,每一斜逐渐增加1个数,奇数斜从下往上,偶数斜从上往下,暴力求包括到第几斜,从新的一斜开始。分奇数偶数情况讨论。
#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<math.h>
#include<string>
#include<map>
#include<queue>
#include<stack>
#include<set>
#define ll long long
#define inf 0x3f3f3f3f
using namespace std; int a[]; int main()
{
memset(a,,sizeof(a));
for(int i=;i<=;i++)
a[i]=a[i-]+i;
int n;
scanf("%d",&n);
int l,cha;///第几斜前是铺满的,新的一斜有几个数
for(int i=;i<=;i++)
{
if(a[i]<=n && n<=a[i+])
{
l=i;
cha=n-a[i];
break;
}
}
int x,y;
if(l%)///第奇数斜,轮到第偶数斜,右上→左下
{
if(cha==)
x=,y=l;
else
{
x=;
y=l+;
cha--;
while(cha--)
{
x++;
y--;
}
}
}
else
{
if(cha==)
x=l,y=;
else
{
x=l+;
y=;
cha--;
while(cha--)
{
x--;
y++;
}
}
}
printf("%d/%d\n",x,y);
return ;
}
c++版本
水题,拿来练习matlab。
a(1)=1;
for i=2:1:10000
a(i)=a(i-1)+i;
end
n=input('');
l=0;
cha=0;
x=0;
y=0;
for i=1:1:10000
if a(i)<=n && n<=a(i+1)
l=i;
cha=n-a(i);
break;
end
end
if mod(l,2)==1 %matlab求模
if cha==0
x=1;
y=l;
else
x=1;
y=1+l;
cha=cha-1;
while cha>0
x=x+1;
y=y-1;
cha=cha-1;
end
end
else
if cha==0
x=l;
y=1;
else
x=l+1;
y=1;
cha=cha-1;
while cha>0
x=x-1;
y=y+1;
cha=cha-1;
end
end
end
fprintf('%d/%d\n',x,y);
Cantor表-(模拟)的更多相关文章
- C语言程序设计100例之(3): Cantor表
例3 Cantor表 题目描述 现代数学的著名证明之一是Georg Cantor证明了有理数是可枚举的.他是用下面这一张表来证明这一命题的: 1/1 1/2 1/3 1/4 …… 2/1 ...
- NOIP199904求Cantor表
求Cantor表 题目描述 Description 现代数学的著名证明之一是Georg Cantor证明了有理数是可枚举的.他是用下面这一张表来证明这一命题的: 1/1 1/2 1/3 1/4 1/5 ...
- wikioi 1083 Cantor表
题目描述 Description 现代数学的著名证明之一是Georg Cantor证明了有理数是可枚举的.他是用下面这一张表来证明这一命题的: 1/1 1/2 1/3 1/4 1/5 - 2/1 2/ ...
- Cantor表(NOIP1999)
题目链接:Cantor表 这道题很水,但有的人没看懂题意,这不怪大家,怪题目没说清楚. 给张图: 看到这,你应该明白题目意思了. 先看看有什么规律. 我把这个数列写出来: 1/1,1/2,2/1,3/ ...
- 14. Cantor表
时间限制: 1 s 空间限制: 128000 KB 题目等级 : 白银 Silver 题解 查看运行结果 题目描述 Description 现代数学的著名证明之一是Georg Cantor证明了有理数 ...
- 洛谷——P1014 Cantor表
P1014 Cantor表 题目描述 现代数学的著名证明之一是Georg Cantor证明了有理数是可枚举的.他是用下面这一张表来证明这一命题的: 1/1 1/2 1/3 1/4 1/5 … 2/1 ...
- 洛谷P1014 Cantor表
P1014 Cantor表 题目描述 现代数学的著名证明之一是Georg Cantor证明了有理数是可枚举的.他是用下面这一张表来证明这一命题的: 1/1 1/2 1/3 1/4 1/5 … 2/1 ...
- 洛谷 P1014 Cantor表
P1014 Cantor表 题目描述 现代数学的著名证明之一是Georg Cantor证明了有理数是可枚举的.他是用下面这一张表来证明这一命题的: 1/1 1/2 1/3 1/4 1/5 … 2/1 ...
- 【CodeVS】1083 Cantor表
1083 Cantor表 1999年NOIP全国联赛普及组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 白银 Silver 题目描述 Description 现代数学的著名证明之 ...
- 算法题——Cantor表
题目介绍 描述 现代数学的著名证明之一是 Georg Cantor 证明了有理数是可枚举的.他是用下面这一张表来证明这一命题的: 1/1, 1/2 , 1/3, 1/4, 1/5, - 2/1, 2/ ...
随机推荐
- Spring Cloud Feign高级应用
1.使用feign进行服务间的调用 spring boot2X整合nacos一使用Feign实现服务调用 2.开启gzip压缩 Feign支持对请求与响应的压缩,以提高通信效率,需要在服务消费者配置文 ...
- c# linq分组 lambda分组
var groupResults = from gr in models && gr.Temperature != && gr.Humidity != &&am ...
- HTML+css基础 p段落标签 a 超链接标签 Src和href有什么区别和关联? target属性 Meta标签
p段落标签: <p></p> 1.他是唯一一个可以不写结束标签的双标签. a 超链接标签: 从一个页面链接到另一个页面.靠的是href属性. Src和href有什么区别和关联 ...
- Reimage Isilon cluster,结果忘记了修改管理口的netmask,怎么办?
网页打不开了,正常的SSH也连不上,只能用串口,连接到节点上. 然后使用运行下面的命令来修改netmask: isi network subnets modify groupnet0.subnet0 ...
- Phaser也可以实现countdownLatch的功能
/** * 可用用phaser模拟countDownLatch * awaitAdvance方法:如果传入的参数和当前的phase相等,线程就阻塞住等待phase的值增加:否则就立即返回 */ pub ...
- Ext.net SelectionModel RowSelection
<SelectionModel> <ext:RowSelectionModel ID="RowSelectionModel1308" runat="se ...
- [Python学习笔记-007] 使用PyEnchant检查英文单词
最近在教儿子做自然拼读,跟他玩了一个单词游戏,就是利用简单的枚举找出适合小朋友学习的两个字母的单词.人工找寻难免有疏漏之处,这里使用PyEnchant给出一个简单的脚本. 01 - foo.py #! ...
- 从 SOA 到微服务,企业分布式应用架构在云原生时代如何重塑?
作者 | 易立 阿里云资深技术专家 导读:从十余年前的各种分布式系统研发到现在的容器云,从支撑原有业务到孵化各个新业务,企业的发展离不开统一的.与时俱进的技术架构.本篇文章从企业分布式应用架构层面介绍 ...
- Linux ip Command
Syntax ip OBJECT COMMAND ip [options] OBJECT COMMAND ip OBJECT help Understanding ip command OBJECTS ...
- 2019-11-29-WPF-依赖属性绑定不上调试方法
原文:2019-11-29-WPF-依赖属性绑定不上调试方法 title author date CreateTime categories WPF 依赖属性绑定不上调试方法 lindexi 2019 ...