转载请注明出处:http://blog.csdn.net/ns_code/article/details/27964027
- 题目描述:
-
求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(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; } }
【剑指offer】无聊的1+2+...+n,布布扣,bubuko.com
时间: 2024-10-08 03:59:49