基础编程-java之股神

买了一支股票,他知道从他买股票的那天开始,股票会有以下变化:第一天不变,以后涨一天,跌一天,涨两天,跌一天,涨三天,跌一天...依此类推。

为方便计算,假设每次涨和跌皆为1,股票初始单价也为1,请计算买股票的第n天每股股票值多少钱?

这是本人在某网站看到的简单编程题。大伙们可以尝试看看!

个人认为多做些算法编程题,有利于提高自己的编程水平,偏向机器思维

下面是脑残博主的暴力式答题:

public class Demo1 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
while(sc.hasNextInt()){
int a=sc.nextInt();
System.out.println(getPrice(a));
}
}
public static int getPrice(int n){
double n1=n;
double m;
m=Math.sqrt(((2*n)+0.25));//这里是博主用笔在本子上推算出的公式
int p=(int)Math.floor((m-0.5));//向下取整就能得出股价下跌的天数
int sum=(int)(n1-(2*p)+2);
return sum;
}
}

下面为大家附上正确解答,博主看到之后。。。。。要哭晕在厕所了

import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
Integer n = null;
while((n = in.nextInt())!=null){
int price = 1;
int i=2;int j=3;
for(int m=1;m<n;m++){
if(m==i){
price--;
i=i+j;//明明可以直接找到跌的天数的规律,用一个变量来存储就可以了,简单吧
j++;
}
else{
price++;}
}
System.out.println(price);

}
}

}

第一次发文,谢谢!

题目答案均来自某网站,这里不具体透露,避免打广告嫌疑。

时间: 2024-10-18 00:21:04

基础编程-java之股神的相关文章

【编程题】股神

题目链接:股神 题目描述 有股神吗? 有,小赛就是! 经过严密的计算,小赛买了一支股票,他知道从他买股票的那天开始,股票会有以下变化:第一天不变,以后涨一天,跌一天,涨两天,跌一天,涨三天,跌一天...依此类推. 为方便计算,假设每次涨和跌皆为1,股票初始单价也为1,请计算买股票的第n天每股股票值多少钱? 附上本机没问题,但是提交不通过的Java代码....求指教 编译通过了....原来是我用的类名不对,平台要求统一用Main,而我的是Test... 1 import java.util.Sca

百度在线考试编程题:股神小赛

小赛买股票了,本金为1元,第1天过后不变还是1元,从第二天开始涨1天跌1天,涨2天跌1天,涨3天跌1天,涨4天跌1天,……每次涨幅或跌幅都是1元,求第n天他还有多少钱(大致描述了下题目,具体我也不知道了) 自己比较笨的方法做的,相对高手来说代码量比较大(水平太low,大家见谅).代码如下: 1 /*********计算股价*********/ 2 /*********根据规律,将天数分成段数,计算股价和*********/ 3 #include <stdio.h> 4 #define Base

6、50道JAVA基础编程练习题跟答案

1 50道JAVA基础编程练习题 2 [程序1] 3 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 4 程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21.... 5 public class Prog1{ 6 public static void main(String[] args){ 7 int n = 10; 8 System.out.println("第"+n+

五本书籍助你从零基础学习java编程到精通之路

前天的文章给大家介绍了Java初学者应该学习哪些基础,亦是美网络小编从Java的三个大方向:J2SE.J2EE.J2ME对大家做了前景分析,这两天也收到了大家的很多反馈,很多小伙伴看了后对自己的Java编程方向有了比较明确的目标,也有小伙伴们说,要是能提供一些Java初学者应看的书籍就更好了,其实推荐Java书籍已经被规划在小编写的Java编程系列文章之中,常言道:书中自有黄金屋,书中自有颜如玉,下面亦是美网络小编给大家推荐的Java书籍中虽然没有黄金屋和颜如玉,但却能让Java编程的初学者快速

编程基础知识——Java JNI开发流程(2)

android中使用jni调用本地C++库 android平台上的本地库文件后缀 .so.类似windows上的dll文件. 要在android上使用jni,首先需要下载android ndk. 操作步骤,正常建立android工程,然后在android工程那里右键,属性,选择Android Tools -> Add Native Support.就可以为android工程增加本地库支持. 添加支持后的android工程,会增加jni目录,C++代码就写在这个目录里. 新建一个类,并且使用nat

编程基础知识——java类加载

java类加载 先来看一段小程序: package com; public class Main1 { static { System.out.println("1111") ; } public static void main(String[] args) { System.out.println("2222") ; } } 输出结果为: 1111 2222 其中static的执行时机就是class被 classloader加载的时候执行. 这有什么用?看下面代

JAVA基础编程练习题

50道JAVA基础编程练习题 [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少? 程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21.... public class Prog1{ public static void main(String[] args){ int n = 10; System.out.println("第"+n+"个月兔子总数为&qu

50道JAVA基础编程练习题

50道JAVA基础编程练习题[程序1]题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....public class Prog1{public static void main(String[] args){ int n = 10; System.out.println("第"+n+"个月兔子总数为"+f

MQ java 基础编程(一)

本文转自:http://www.blogjava.net/i369/articles/88035.html 编写人:邬文俊 编写时间 : 2006-2-16 联系邮件 : [email protected] 前言 通过 2 个多星期对 MQ 学习,在 partner 丁 & partner 武 的帮助下完成了该文档.该文档提供一个简单的例子,通过对该例子的讲解,你将知道: 1.         用 java 写客户端从 MQ Server 收发消息. 2.         MQ 作为 Websp