Computer Transformation(简单数学题+大数)
H - Computer Transformation
Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u
Appoint description:
System Crawler (Oct 10, 2016 1:02:59 PM)
Description
How many pairs of consequitive zeroes will appear in the sequence after n steps?
Input
Every input line contains one natural number n (0 < n ≤1000).
Output
For each input n print the number of consecutive zeroes pairs that will appear in the sequence after n steps.
Sample Input
- 2
- 3
Sample Output
1
1
//这题意思是
1 01 0
2 1001 1
3 01101001 1
1->01 0->10
就这么一直变下去,问 n 步之后,有多少个相邻的 0
我是先输出模拟了大概 8 项找出了规律,然后。。。wa
因为数据太大,long long 也存不下
然后用字符串,当做大数处理,就可以了,注意一些细节问题,代码里有
- /*
- //EEE
- #include <stdio.h>
- #include <string.h>
- char ch[10][1200];
- int main()
- {
- strcpy(ch[0],"01");
- for (int i=1;i<10;i++)
- {
- int k=0;
- int len=strlen(ch[i-1]);
- for (int j=0;j<len;j++)
- {
- if (ch[i-1][j]=='0')
- {
- ch[i][k++]='1';
- ch[i][k++]='0';
- }
- else
- {
- ch[i][k++]='0';
- ch[i][k++]='1';
- }
- }
- ch[i][k]='\0';
- }
- for (int i=0;i<10;i++)
- {
- int sum=0;
- int len =strlen(ch[i]);
- for (int j=0;j<len-1;j++)
- {
- if (ch[i][j]=='0'&&ch[i][j+1]=='0')
- sum++;
- }
- //printf("%s\n",ch[i]);
- printf("%d\n",sum);
- }
- return 0;
- }
- */
- #include <stdio.h>
- #include <string.h>
- #include <math.h>
- #include <algorithm>
- using namespace std;
- char num[][];
- char str[];
- char *add(char s[])
- {
- memset(str,,sizeof(str));
- int i;
- int len=strlen(s);
- for (i=;i<len;i++)
- s[i]-='';
- reverse(s,s+len);
- for (i=;i<len;i++)
- {
- str[i]+=s[i]*;
- if (i==) str[i]++;
- if (str[i]>=)
- {
- str[i]-=;
- str[i+]++;
- }
- }
- while (str[i]!=) i++;
- str[i]='\0';
- for (int j=;j<i;j++) str[j]+='';
- for (int j=;j<len;j++) s[j]+='';
- reverse(str,str+i);
- reverse(s,s+len);
- return str;
- }
- char *de(char s[])
- {
- memset(str,,sizeof(str));
- int i;
- int len=strlen(s);
- for (i=;i<len;i++)
- s[i]-='';
- reverse(s,s+len);
- int k=,flag=;
- for (i=;i<len;i++)
- {
- str[i]+=s[i]*;
- if (str[i]>=)
- {
- str[i]-=;
- str[i+]++;
- }
- if (flag==&&str[i]==)//减1,看这个数最后有几个 0
- {
- k++;
- }
- if (str[i]!=) flag=;
- }
- while (str[i]!=) i++;
- str[i]='\0';
- str[k]--;
- while (k--) str[k]=;//减 1
- for (int j=;j<i;j++) str[j]+='';
- for (int j=;j<len;j++) s[j]+='';
- reverse(str,str+i);
- reverse(s,s+len);
- return str;
- }
- int main()
- {
- int n;
- int i;
- int xx=;
- strcpy(num[],"");
- for (i=;i<=;i++)
- {
- if (i%==)
- {
- add(num[i-]);
- strcpy(num[i],str);
- }
- else
- {
- de(num[i-]);
- strcpy(num[i],str);
- }
- }
- while (scanf("%d",&n)!=EOF)
- {
- printf("%s\n",num[n]);
- }
- return ;
- }
Computer Transformation(简单数学题+大数)的更多相关文章
- HDU 1041 Computer Transformation (简单大数)
Computer Transformation http://acm.hdu.edu.cn/showproblem.php?pid=1041 Problem Description A sequenc ...
- hdu_1041(Computer Transformation) 大数加法模板+找规律
Computer Transformation Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/ ...
- (大数)Computer Transformation hdu1041
Computer Transformation Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/ ...
- Computer Transformation(规律,大数打表)
Computer Transformation Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/ ...
- HDU 6467 简单数学题 【递推公式 && O(1)优化乘法】(广东工业大学第十四届程序设计竞赛)
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6467 简单数学题 Time Limit: 4000/2000 MS (Java/Others) M ...
- HDU 6467.简单数学题-数学题 (“字节跳动-文远知行杯”广东工业大学第十四届程序设计竞赛)
简单数学题 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submi ...
- Discrete Function(简单数学题)
Discrete Function There is a discrete function. It is specified for integer arguments from 1 to N (2 ...
- JZOJ 5773. 【NOIP2008模拟】简单数学题
5773. [NOIP2008模拟]简单数学题 (File IO): input:math.in output:math.out Time Limits: 1000 ms Memory Limits ...
- [JZOJ5773]【NOIP2008模拟】简单数学题
Description 话说, 小X是个数学大佬,他喜欢做数学题.有一天,小X想考一考小Y.他问了小Y一道数学题.题目如下: 对于一个正整数N,存在一个正整数T(0<T&l ...
随机推荐
- MongoDB系列四:解决secondary的读操作
http://blog.itpub.net/26812308/viewspace-2124660/ 在Replica sets 中的secondary节点默认是不可读的.使用Replica Sets实 ...
- 2017.7.31 ELK+logback+redis的使用
参考来自:spring mvc+ELK从头开始搭建日志平台 0 前提 ELK安装成功 redis安装成功 使用logback的项目运行成功 1 配置文件 1.1 pom.xml 为了使用logback ...
- 内容提供器(ContentProvider)
一.简介内容提供器(Content Provider)主要用于在不同的应用程序之间实现数据共享的功能,它提供了一套完整的机制,允许一个程序访问另一个程序中的数据,同时还能保证被访数据的安全性.目前,使 ...
- Wamp访问缓慢、本地主机访问缓慢解决方案
Wamp访问缓慢.本地主机访问缓慢解决方案 Wamp访问速度缓慢可能的原因: 1.一般原因: Wamp的日志文件太大.处理办法,将位于wamp/logs/下的日志文件清空. ...
- Linux 下Office 软件名称
Linux 下Office 软件名称
- react-native 项目实战 -- 新闻客户端(6) -- 完善ListView头部视图
1.因为需要定时器,所以我们要cd到当前项目根目录下安装这个类库: $ npm i react-timer-mixin --save 2.Component/ScrollImage.js /** * ...
- NHibernate利用Mindscape.NHibernateModelDesigner实现数据库与实体之间的转换及操作
环境:   Visual Studio 2010 一.Mindscape.NhibernateModelDesigner安装   在打开 ...
- shell脚本检测网络是否畅通
shell初始化安装脚本执行时,需从网络上安装一些rpm包,所有需要先检测网络的畅通性, 代码 #检测网络链接&&ftp上传数据 function networkAndFtp() { ...
- mysql 随机取数据
SELECT * FROM table WHERE id >= (SELECT FLOOR(RAND()*MAX(id)) FROM table ) ORDER BY idLIMIT 1; 这样 ...
- free bsd x修改UTC->SCT
#cp /usr/share/zoneinfo/Asia/Taipei /etc/localtime #ntpdate asia.pool.ntp.org #adjkerntz -a #date