`

1003

阅读更多
总时间限制:
1000ms
内存限制:
65536kB
描述

How far can you make a stack of cards overhang a table? If you have one card, you can create a maximum overhang of half a card length. (We're assuming that the cards must be perpendicular to the table.) With two cards you can make the top card overhang the bottom one by half a card length, and the bottom one overhang the table by a third of a card length, for a total maximum overhang of 1/2 + 1/3 = 5/6 card lengths. In general you can make n cards overhang by 1/2 + 1/3 + 1/4 + ... + 1/(n + 1) card lengths, where the top card overhangs the second by 1/2, the second overhangs tha third by 1/3, the third overhangs the fourth by 1/4, etc., and the bottom card overhangs the table by 1/(n + 1). This is illustrated in the figure below.


输入
The input consists of one or more test cases, followed by a line containing the number 0.00 that signals the end of the input. Each test case is a single line containing a positive floating-point number c whose value is at least 0.01 and at most 5.20; c will contain exactly three digits.
输出
For each test case, output the minimum number of cards necessary to achieve an overhang of at least c card lengths. Use the exact output format shown in the examples.
样例输入
1.00
3.71
0.04
5.19
0.00
样例输出
3 card(s)
61 card(s)
1 card(s)
273 card(s)
分析:这道题相对简单。
 
 
解决方案一:G++
 
 
#include<iostream>
#include<cstdlib>
#include<cstdio>
using namespace std ;
int main()
{
     double ch ;
    while(cin>>ch){
    if(ch==0.00) break ;
     int i ;
     double t = 2.00 ;
     double sum = 0 ;
 for(i=0;ch>sum ;i++){
    sum += (double)1/t ;
    t += 1.00 ;
 }
 printf("%d card(s)\n",i) ;
   }
   return 0 ;
}
 
 或者
  
#include<iostream>
#include <cmath>
using namespace std;
int main(){
    float f;
    int i = 0 ;
    while(cin>>f)
   {
    if(f == 0.00)break;
    int n = 0;
    float sum = 0;
    float temp= -1;
    for(i = 2;f > sum;i++)
        {
            sum = sum+ (float)1/i;

    }
    cout<<i - 2<<" card(s)"<<endl;
    }

     return 0;
     }
 
 解决方案二:Java
 
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
       Scanner sc = new Scanner(System.in) ;      
       while(sc.hasNext())
       {   
    	   float t = sc.nextFloat() ;
    	   if(t==0.00) {break ; }
    	   int i ;
    	   float f = 2,sum=0 ;
    	   for(i=0;t>sum;i++)
    	   {
    		   sum += (float)1/f ;   
    		   f++ ;
    	   }
    	   System.out.println(i+" card(s)") ;
       }
	}

}
  或者
  
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
       Scanner sc = new Scanner(System.in) ;      
       while(sc.hasNext())
       {   
    	   float t = sc.nextFloat() ;
    	   if(t==0.00) {break ; }
    	   int i ;
    	   float sum=0 ;
    	   for(i=2;t>sum;i++)
    	   {
    		   sum += (float)1/i ;   
    		   
    	   }
    	   System.out.println(i-2+" card(s)") ;
       }
	}

}
 
分享到:
评论

相关推荐

    STM32驱动VS1003程序

    STM32驱动VS1003程序涉及到嵌入式系统中的音频播放技术,主要集中在STM32微控制器和VS1003音频解码芯片的交互。STM32是意法半导体公司(STMicroelectronics)推出的一系列高性能、低功耗的微控制器,广泛应用于各种...

    单片机+CH375+VS1003制作MP3原理图+程序

    2. **VS1003的使用**: VS1003是一款多功能音频解码芯片,支持多种音频格式。通过正确的初始化配置,可以实现高质量的音频输出。 3. **文件系统的管理**: 对于包含大量音频文件的存储设备而言,高效的文件管理系统至...

    LPC1788 +VS1003 实现录音及播放功能例程

    在本文中,我们将深入探讨如何使用LPC1788微控制器与VS1003音频编解码器实现录音和播放功能。LPC1788是NXP半导体公司推出的一款基于ARM Cortex-M3内核的微控制器,广泛应用于各种嵌入式系统设计。而VS1003是一款高度...

    Arduino 例程详细教学35.VS1003MP3解码芯片

    Arduino 例程详细教学35.VS1003MP3解码芯片Arduino 例程详细教学35.VS1003MP3解码芯片Arduino 例程详细教学35.VS1003MP3解码芯片Arduino 例程详细教学35.VS1003MP3解码芯片Arduino 例程详细教学35.VS1003MP3解码芯片...

    STM32 VS1003 串口2DMA发送录音数据

    这是stm32f103驱动vs1003b芯片的范例,上位机使用c#写的,全部代码开源, 采用的是PL2302usb转串口模块,还包含了写adpcm文件头的软件,是一套完整的录音程序。 所用模块 1.stm32f103rct6 arm芯片开发板 2.pl2303...

    stm32f103+Vs1003b例程

    STM32F103与VS1003b结合使用的例程主要涉及了嵌入式音频处理领域,尤其在MP3解码和SPI通信方面。STM32F103是一款基于ARM Cortex-M3内核的微控制器,广泛应用于各种嵌入式系统设计,而VS1003b则是一款专门用于音频...

    基于stm32和vs1003的mp3播放器设计与实现MDK

    在这个项目中,我们关注的是一个基于STM32微控制器和VS1003解码芯片的MP3播放器的设计与实现。STM32是意法半导体(STMicroelectronics)生产的一系列高性能、低功耗的ARM Cortex-M架构微控制器,而VS1003则是用于...

    VS1003 中文资料_VS1003_

    VS1003是一款广泛应用在音频解码领域的芯片,由VLSI Solutions公司设计生产。这款芯片能够处理各种音频格式的解码工作,为嵌入式系统提供了强大的音频播放功能。VS1003的中文手册是开发者和电子爱好者的重要参考资料...

    stm32 VS1003 MP3

    STM32 VS1003 MP3开发是一个嵌入式领域的常见项目,涉及到微控制器编程、音频解码和硬件交互等多个技术层面。STM32是一款基于ARM Cortex-M内核的微控制器,由意法半导体(STMicroelectronics)生产,广泛应用于...

    51单片机结合vs1003音频解码芯片

    本主题聚焦于如何利用51单片机与VS1003音频解码芯片进行交互,实现MIDI音乐的播放功能。首先,我们需要了解51单片机的基本结构和SPI(Serial Peripheral Interface)通信协议。 51单片机是8位微控制器,主要由CPU、...

    IEEE Std 1003.1, 2004 Edition.rar

    《IEEE Std 1003.1, 2004 Edition》是信息技术领域的权威标准之一,也被称为POSIX.1标准。这个标准是为操作系统接口(OSI)定义的一套标准,它确保了不同系统之间的兼容性和互操作性。在2004年的版本中,它对1990...

    基于STM32的mp3,使用vs1003,sd卡,fatfs文件系统,没有显示屏

    本项目结合了VS1003音频解码芯片、SD卡以及FATFS文件系统,构建了一个没有显示屏的简单MP3播放器。下面将详细介绍这些关键组件和知识点。 1. STM32 微控制器:STM32系列是基于ARM Cortex-M内核的MCU,具有丰富的...

    vs10xx、vs1053、vs1003驱动

    其中,VS1053和VS1003是两个较为知名的型号,它们在音频处理领域有着广泛的应用。 VS1053是一款集成度极高的音频编解码器,它包含了数字信号处理器(DSP)、音频编解码器、模拟前端以及串行接口控制器等组件。这款...

    VS1003资料实例原理图

    VS1003是一款专为音频解码设计的集成电路,常用于MP3播放器和其他音频设备。本资料包包含了关于VS1003的关键信息,包括数据手册、实例应用和原理图,帮助开发者深入理解和应用这款芯片。 首先,让我们详细探讨一下`...

    VS1003测试程序

    VS1003是一款专为音频解码设计的集成电路,常用于嵌入式系统中,如MP3播放器和其他便携式音乐设备。这个“VS1003测试程序”显然是一个针对该芯片的测试软件,旨在验证其功能并确保与51系列单片机的兼容性。 51系列...

    VS1003最新驱动

    【VS1003最新驱动】是针对VS1003芯片的一款开发资源,这款驱动主要用于在嵌入式系统中实现音频播放功能。VS1003是一款高性能、低功耗的数字音频解码器,广泛应用于各种便携式媒体播放器、智能家居设备以及物联网(IoT...

    MP3解码芯片 VS1003

    ### MP3解码芯片VS1003:高保真音质与低功耗的完美结合 #### 一、概述 VS1003是一款专为MP3/WMA/MIDI音频解码及ADPCM编码设计的单芯片解决方案,集成了高性能、低功耗的专有DSP处理器核心VS_DSP4,以及必要的数据...

    vs1003电路图

    VS1003是一款经典的数字音频解码芯片,广泛应用于MP3、WAV等音频格式的播放设备。这款芯片以其高效能和低功耗而受到DIY音乐播放器爱好者的青睐。在电子制作领域,理解并掌握VS1003的电路设计至关重要。 电路图是VS...

Global site tag (gtag.js) - Google Analytics