hdu1316 水大数
题意:
给你一个区间,问这个区间有多少个斐波那契数.
思路:
水的大数,可以直接模拟,要是懒可以用JAVA,我模拟的,打表打到1000个就足够用了...
#include<stdio.h>
#include<string.h>
int a[110] ,b[110];
int num[1200][110]; void csh_num()
{
memset(num ,0 ,sizeof(num));
num[1][1] = 1 ,num[1][0] = 1;
num[2][1] = 2 ,num[2][0] = 1;
for(int i = 3 ;i <= 1000 ;i ++)
{
for(int j = 1 ;j <= 105 ;j ++)
num[i][j] = num[i-1][j] + num[i-2][j];
for(int j = 1 ;j <= 105 ;j ++)
{
num[i][j+1] += num[i][j] / 10;
num[i][j] %= 10;
}
} for(int i = 3 ;i <= 1000 ;i ++)
{
int kg = 0 ,sum = 0;
for(int j = 105 ;j >= 1 ;j --)
{
if(num[i][j]) kg = 1;
if(kg) num[i][0]++;
}
}
return ;
} bool campa(int i ,int la)
{
if(num[i][0] > la) return 1;
if(num[i][0] < la) return 0;
for(int ii = la ;ii >= 1 ;ii --)
{
if(num[i][ii] == a[ii]) continue;
if(num[i][ii] > a[ii]) return 1;
else return 0;
}
return 1;
} bool campb(int i ,int lb)
{
if(num[i][0] > lb) return 0;
if(num[i][0] < lb) return 1;
for(int ii = lb ;ii >= 1 ;ii --)
{
if(num[i][ii] == b[ii]) continue;
if(num[i][ii] > b[ii]) return 0;
else return 1;
}
return 1;
} int main ()
{
csh_num();
int i ,j ,sum;
char stra[105] ,strb[105];
while(~scanf("%s %s" ,stra ,strb) && strcmp(stra ,"0") + strcmp(strb ,"0"))
{
memset(a ,0 ,sizeof(a));
int la = strlen(stra) - 1;
int tt = 0;
for(i = la ;i >= 0 ;i --)
a[++tt] = stra[i] - 48; memset(b ,0 ,sizeof(b));
int lb = strlen(strb) - 1;
tt = 0;
for(i = lb ;i >= 0 ;i --)
b[++tt] = strb[i] - 48;
la++ ,lb++; sum = 0;
for(i = 1 ;i <= 1000 ;i ++)
{
if(!campb(i ,lb)) break;
if(campa(i ,la)) sum ++;
} printf("%d\n" ,sum);
}
return 0;
}
hdu1316 水大数的更多相关文章
- JAVA大数类练手
今天突然看到了OJ上的大数类题目,由于学习了一点大数类的知识.果断水了6道题......都是非常基础的.就当的练手的吧. 学到的只是一些大数类的基本操作.以后多做点这样的题,争取熟练运用水大数题... ...
- Codeforces Round #260 (Div. 2) A B C 水 找规律(大数对小数取模) dp
A. Laptops time limit per test 1 second memory limit per test 256 megabytes input standard input out ...
- HDU1013_Digital Roots【大数】【水题】
Digital Roots Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) To ...
- FZU- Problem 1147 Tiling,递推坑题,大数水过~~
Problem 1147 Tiling Time Limit: 1000 mSec Memory Limit : 32768 KB http://acm.fzu.edu.cn/problem.php? ...
- HDU-1042-N!(Java大法好 && HDU大数水题)
N! Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others) Total Subm ...
- hdu1316 大数
题意: 给你一个区间,问这个区间有多少个斐波那契数. 思路: 水的大数,可以直接模拟,要是懒可以用JAVA,我模拟的,打表打到1000个就足够用了... #include<s ...
- POJ 2389 Bull Math(水~Java -大数相乘)
题目链接:http://poj.org/problem?id=2389 题目大意: 大数相乘. 解题思路: java BigInteger类解决 o.0 AC Code: import java.ma ...
- 蓝桥杯 算法训练 区间k大数查询(水题)
算法训练 区间k大数查询 时间限制:1.0s 内存限制:256.0MB 问题描述 给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个. 输入格式 第一行包含一个数n,表示序列长度. ...
- SPOJ 3693 Maximum Sum(水题,记录区间第一大和第二大数)
#include <iostream> #include <stdio.h> #include <algorithm> #define lson rt<< ...
随机推荐
- CentOS6.4 Install oh-my-zsh
先安装zsh yum -y install zsh # 查看是否安装完成 cat /etc/shells /bin/sh /bin/bash /sbin/nologin /bin/dash /bin/ ...
- FreeBSD jail 折腾记(二)
FreeBSD jail 折腾记(二) 创建jail目录 创建4个 分别是模板 骨架 数据 项目 创建模板目录 mkdir -p /jail/j1 # 然后放入基本目录,上篇说过不再写 创建骨架目录 ...
- LNMP配置——Nginx配置 —— Nginx的访问日志
一.配置 先来看看Nginx的日志格式 #grep -A2 log_format /usr/local/nginx/conf/nginx.conf log_format combined_realip ...
- Hibernate在oracle中ID增长的方式
引用链接:http://blog.csdn.net/w183705952/article/details/7367272 Hibernate在oracle中ID增长的方式 第一种:设置ID的增长策略是 ...
- HTML标签解读
因为最近在学习爬虫,那么在爬取网页内容时,就要求我们能够简单的看懂这个网页的基本结构,才能更好的去爬取我们所需要的内容. 这篇随笔也只是简单的说明了一些标签的含义. 标签关系 包含关系 eg:< ...
- 2018ICPC南京 A. Adrien and Austin
题目: 题意:1-N个石子每次只能取连续的1-K个问输赢.(一开始以为只是个简简单单的巴什游戏,激动的提交了一发wr了,再读了一遍题才发现是只能取连续的) 题解:当n==0或者k==1&&am ...
- P1255_数楼梯(JAVA语言)
思路:BigInteger 四杀! 简单递推,注意long会超范围 题目描述 楼梯有N阶,上楼可以一步上一阶,也可以一步上二阶. 编一个程序,计算共有多少种不同的走法. 输入输出格式 输入格式: 一个 ...
- ch2_8_1求解n阶螺旋矩阵问题
思路:循环输出,注意边界控制 import java.util.Scanner; public class ch2_8_1求解n阶螺旋矩阵问题 { public static void main(St ...
- P1014_Cantor表 (JAVA语言)
题目描述 现代数学的著名证明之一是Georg Cantor证明了有理数是可枚举的.他是用下面这一张表来证明这一命题的: 1/11/1 , 1/21/2 , 1/31/3 , 1/41/4, 1/51/ ...
- 开灯问题3_2(JAVA语言)
package 第三章; public class 开灯问题3_2 { public static void main(String[] args) { // TODO Auto-generated ...