博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU 1316 How Many Fibs? 大数
阅读量:5152 次
发布时间:2019-06-13

本文共 2401 字,大约阅读时间需要 8 分钟。

Java

import java.io.*;import java.util.*;import java.math.*;public class aa{	public static void main( String[] args )	{		BigInteger f[] = new BigInteger[505],a,b;		f[1] = BigInteger.valueOf(1);		f[2] = BigInteger.valueOf(2);		for( int i = 3; i < 505; ++i )			f[i] = f[i-1].add( f[i-2] );		Scanner cin = new Scanner(System.in);		while( cin.hasNextBigInteger() )		{			a = cin.nextBigInteger();			b = cin.nextBigInteger();			if( a.compareTo(BigInteger.ZERO) == 0 && b.compareTo(BigInteger.ZERO) == 0)				break;			int c = 0;			for( int i = 1; i < 505; ++i )			{				if( f[i].compareTo(b) > 0 )					break;				if( f[i].compareTo(a) >= 0 && f[i].compareTo(b) <= 0 )					++c;			}			System.out.println( c );		}	}}

这题很明显只能用大数,先把fibs求出来,然后再去找区间

#include
#include
#include
#define max 124char str1[max],str2[max];char ch[10000][max] ={0};void chart( ){ int i = 3,len = 0; ch[1][0] = '1'; ch[2][0] = '2'; for( ; len < max; ++i ) { int j = 0, t = 0; while( ch[i - 2][j] ) { t += ch[i-2][j] - '0' + ch[i-1][j] -'0'; ch[i][j] = t % 10 + '0'; t /= 10; ++j; } while( ch[i-1][j] ) { t += ch[i-1][j] - '0'; ch[i][j] = t % 10 + '0'; t /= 10; ++j; } while( t ) { ch[i][j] = t % 10 + '0'; t /= 10; ++j; } len = strlen( ch[i] ); } }int cmp( char str[],char str2[] ){ char str1[max] = {0};//别丢了这一步,否则WA strcpy( str1,str ); int len1 = strlen( str1 ),len2 = strlen( str2 ); if( len1 > len2 ) return 1; else if( len1 < len2 ) return -1; else { for( int p = len1 - 1,q = 0; p > q;--p,++q ) { char c = str1[p]; str1[p] = str1[q]; str1[q] = c; } return strcmp( str1 ,str2 ); }}int cal( ){ int sum = 0,i = -1; while( cmp(ch[++i],str1) < 0 ); while( cmp( ch[i],str2 ) <= 0 ) { ++i; ++sum; } return sum;}int main( ){ chart( ); while( scanf( "%s%s",str1,str2 ),str1[0] + str2[0] != '0' + '0' ) printf( "%d\n",cal( ) ); return 0;}

转载于:https://www.cnblogs.com/Lvsi/archive/2011/04/08/2009909.html

你可能感兴趣的文章
css3 2d转换3d转换以及动画的知识点汇总
查看>>
【Java】使用Eclipse进行远程调试,Linux下开启远程调试
查看>>
js对象属性方法
查看>>
对Vue为什么不支持IE8的解释之一
查看>>
Maven安装配置
查看>>
ORA-10635: Invalid segment or tablespace type
查看>>
计算机改名导致数据库链接的诡异问题
查看>>
Windows 8 操作系统 购买过程
查看>>
软件工程课程-个人编程作业
查看>>
Java8内存模型—永久代(PermGen)和元空间(Metaspace)(转)
查看>>
ObjectiveC基础教程(第2版)
查看>>
centos 引导盘
查看>>
Notes of Daily Scrum Meeting(12.8)
查看>>
Apriori算法
查看>>
onlevelwasloaded的调用时机
查看>>
求出斐波那契数组
查看>>
Vue.js 基础学习之组件通信
查看>>
lr_start_transaction/lr_end_transaction事物组合
查看>>
每天一个Linux命令 - 【chkconfig】
查看>>
△UVA10106 - Product(大数乘法)
查看>>