zoukankan      html  css  js  c++  java
  • 【剑指offer】无聊的1+2+...+n

    转载请注明出处:http://blog.csdn.net/ns_code/article/details/27964027

    题目描写叙述:

    求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等keyword及条件推断语句(A?B:C)。

    输入:

    输入可能包括多个測试例子。
    对于每一个測试案例。输入为一个整数n(1<= n<=100000)。

    输出:

    相应每一个測试案例,
    输出1+2+3+…+n的值。

    例子输入:
    3
    5
    
    例子输出:
    6
    15
        这道题目确实非常无聊,试着用java语言。构造方法来写,最后实在没办法,还是要用for,构造了对象数组是不假,可是那个人家调用的是创建数组引用对象的构造函数。还要实例化数组中的对象n次才行。又逼着我用for循环,这也罢了,測试结果超时了,关键是每一个測试用例的时间没有超时。可是总时间超时了。


        不想再在这样的无聊的题目上浪费时间了。索性这样了,有段时间没用java了,手都生了,另外,用java构造函数思路做本题目,有不用for循环就可以计算出答案的。欢迎提示,实在不想去想了!

        不管如何。还是把代码贴上吧!

    import java.util.*;
    public class Main{
    	public static void main(String args[]) {
    		Scanner cin = new Scanner(System.in);
    		int n;
    		while (cin.hasNext()) {
    			n = cin.nextInt(); 
    			Temp.Reset();
    			Temp arr[] = new Temp[n];
    			for(int i=0;i<n;i++)
    				arr[i] = new Temp();
    			System.out.println(Temp.getSum());
    		}
    	}
    }
    
    class Temp{
    	private static int n = 0;
    	private static int sum = 0; 
    	public static void Reset(){
    		n = 0;
    		sum = 0;
    	}
    	public Temp(){
    		++n;
    		sum += n;
    	}
    	public static int getSum(){
    		return sum;
    	}
    }

  • 相关阅读:
    依赖注入模式与反模式
    WPF异常——某个ItemsControl与它的项源不一致
    C# 3进化的数据访问之智能的编译器
    C# 2的重大改进之可空类型
    C# 1之外:构建于坚实基础上的新特性
    C# 1的核心基础之二——类型系统
    C# 1的核心基础之一——委托
    C#进化史
    单一职责原则
    HBase简介
  • 原文地址:https://www.cnblogs.com/llguanli/p/6978475.html
Copyright © 2011-2022 走看看