zoukankan      html  css  js  c++  java
  • ACM1003

    这个题目相对简单,就是浮点数为零的判断,这个要记住,判断浮点数是否为零,是不能直接用等于号的。例如Double m=0;if(m==0);//是错误的。要用(m-0<1e-6)两个相减得到的数据是否小于1e-6值。也许是C++用得习惯些,写起来顺手,用java写,老是有些语法错误,不过还是解决了。

    这个题目是这样的:

    最终就是求:1/2+1/3....+1/(n+1)的和接近用户输入的数据。

    C++代码:

     1 #include <iostream>
    2 #include <vector>
    3 #include <math.h>
    4 using namespace std;
    5
    6 int main ()
    7 {
    8 double m_som;
    9 vector<int> m_cards;//用到了vector,装最终得到的结果
    10 while ( cin >> m_som )//输入数据
    11 {
    12 double m_compute=0;
    13 int n=1;
    14 if ( (m_som-0)<=1E-6)//判断出口,是否等于零
    15 {
    16 break;
    17 }
    18 while ( (m_som - m_compute)> 1e-6 )//两个相减是否接近零
    19 {
    20 m_compute=m_compute+(double)1/(double)(n+1);//求和
    21 n++;
    22 }
    23 m_cards.push_back(n);//加入vector
    24 }
    25 for ( vector<int>::size_type it=0;it!=m_cards.size();++it)//输出
    26 {
    27 cout<<m_cards[it]-1<<" "<<"card(s)"<<endl;
    28 }
    29 system("pause");
    30 return 0;
    31 }

    下面是java代码,两个相似:

    View Code
     1 import java.io.*;
    2 import java.util.*;
    3 import java.math.*;
    4
    5 public class four
    6 {
    7 public static void main(String args[])throws Exception
    8 {
    9 double m_comptu;
    10 Vector<Integer > m_v=new Vector<Integer >();
    11 Scanner in=new Scanner(System.in);
    12 while(in.hasNext())
    13 {
    14 Integer n=1;
    15 double m_sum=0;
    16 m_comptu=in.nextDouble();
    17 if(m_comptu-0<1e-6)break;
    18 while(m_comptu-m_sum>1e-6)
    19 {
    20 m_sum=m_sum+(double)1/(double)(n+1);
    21 n++;
    22 }
    23 m_v.addElement(n);
    24 }
    25 for(Integer t=0;t!=m_v.size();++t)
    26 {
    27 Integer m=m_v.elementAt(t);
    28 m=m-1;
    29 System.out.println(m+" "+"card(s)");
    30 }
    31 }
    32 }

    写这个java代码,让我知道了在用到vector等容器时,是不能用内置类型int的,因为vector里面装的是对象,就用到了Integer这个类来表示int,这个让我找了好久的错误,老是想不通为什么,终于找到这个答案了。

     

  • 相关阅读:
    我的书单
    写一个小demo过程中遇到的各种问题 学生管理考勤系统(网页模拟)
    高程三 面向对象程序设计
    JavaScript 函数与对象的 简单区别
    高程三 基本包装类型部分的学习
    巨简单巨丑的计算器(写的我快自闭了)
    checked选择器实现tab切换
    JavaScript进行简单的随即验证码生成(适合和我一样刚入门一本完整的教材书都没看完的弟弟)
    dom编程艺术章12
    vue插件开发与发布
  • 原文地址:https://www.cnblogs.com/leewiki/p/2285845.html
Copyright © 2011-2022 走看看