寫一個函數計算但參數為n(n很大)時的值1-2+3-4+5-6+7……+n。(考慮程序執行效率)
1 private static void jisuan(int n) { 2 int sum=0; 3 if(n%2==0){ 4 sum=-(n/2); 5 System.out.println(""+sum); 6 }else{ 7 sum=-(n-1)/2+n; 8 System.out.println(""+sum); 9 } 10 }
註意:-(n-1)/2是1-2+3-4..+n(偶數)的代表式
此段代碼,效率是最高的。
寫一個函數計算但參數為n(n很大)時的值1-2+3-4+5-6+7……+n。(考慮程序執行效率)
相關推薦
寫一個函數計算但參數為n(n很大)時的值1-2+3-4+5-6+7……+n。(考慮程序執行效率)
參數 color n) col sys class n-1 == code 1 private static void jisuan(int n) { 2 int sum=0; 3 if(n%2==0){ 4 sum=-(n/2)
輸入一個矩陣,按照從外向裡以順時針的順序依次打印出每一個數字,例如,如果輸入如下4 X 4矩陣: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 則依次打印出數字1,2,
public ArrayList<Integer> printMatrix(int [][] matrix) { ArrayList<Integer> l1= new ArrayList<>(); &
山科java實驗3-3編寫一個方法,返回一個double型的二維陣列,陣列中的元素通過解析字串引數獲得。例如,字串引數:“1,2;3,4,5;6,7,8”,對應的陣列為: d[0,0
編寫一個方法,返回一個double型的二維陣列,陣列中的元素通過解析字串引數獲得。例如,字串引數:“1,2;3,4,5;6,7,8”,對應的陣列為: d[0,0] = 1.0 d[0,1
計算1!+2!+3!+4!+5!+6!+7!+8!+9!+10!+......的值(需注意整型變數的範圍)
#include<stdio.h> //***(1)*** //計算1!+2!+3!+4!+5!+6!+7!+8!+9!+10!的值 int func(int n)//一個數的階乘 { if(n>0) return n*func(n-1); if
java 輸入一個矩陣,按照從外向裡以順時針的順序依次打印出每一個數字,例如,如果輸入如下矩陣: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 則依次打印出數字1,2,
題目描述 輸入一個矩陣,按照從外向裡以順時針的順序依次打印出每一個數字,例如,如果輸入如下矩陣: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 則依次打印出數字1,
Java_whilefor-->計算 ∑1+∑2+∑3+∑4+∑5+∑6+∑7+∑8+∑9+∑10
計算 ∑1+∑2+∑3+∑4+∑5+∑6+∑7+∑8+∑9+∑10 思路:多個求和的相加,先考慮單個求和的計算;這個很簡單通過求和公式 (1+n)*n/2 就可以得到 接下來就是開始對n的值進行分析判斷 n屬於1~10 通過for迴圈來實現 整體程式碼如下:TestWh
輸入一個矩陣,按照從外向裡以順時針的順序依次打印出每一個數字,例如,如果輸入如下矩陣: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 則依次打印出數字1,2,3,4,8
import java.util.ArrayList; import java.util.Arrays; public class Solution { public ArrayList<Integer> printMatrix(int [][] mat
1 2 3 4 5 6 7 8 9 = 110,在數字間填入加號或者減號(可以不填,但不能填入其它符號)使等式成立。
一共有3^8種可能。 答案: 成功:12+34+56+7-8+9 = 110 成功:12+3+45+67-8-9 = 110 成功:12-3+4-5+6+7+89 = 110 成功:1+2+34+5+67-8+9 = 110 成功:1-2+3+45-6+78-9 = 110
python遞歸練習:生成一個n級深度的字典,例如:[1,2,3,4,5,6] 可以生成{1: {2: {3: {4: {6: 5}}}}},寫一個函數定義n級
生成 結果 dict 深度 遞歸 ict nco strong ron 結果#encoding = utf-8#題目:#生成一個n級深度的字典,例如:[1,2,3,4,5,6] 可以生成{1: {2: {3: {4: {6: 5}}}}},寫一個函數定義n級a=[1,2,3
計算第K個能表示(2^i * 3^j * 5^k)的正整數(i,j,k為整數)?其前7個滿足此條件的數分別是1,2,3,4,5,6,8
public class Main { public static void main(String[] args) { int[] a = new int[1501]; a[1] = 1; TreeMap<Integer, Integ
python練習題,寫一個方法 傳進去列表和預期的value 求出所有變量得取值可能性(例如list為[1,2,3,4,5,6,12,19],value為20,結果是19+1==20只有一種可能性),要求時間復雜度為O(n)
num bubuko com pri def 代碼 data- 取值 .com 題目:(來自光榮之路老師)a+b==valuea+b+c=valuea+b+c+d==valuea+b+c+d+...=valuea和b....取值範圍都在0-value寫一個方法 傳進去列
python遞迴練習:生成一個n級深度的字典,例如:[1,2,3,4,5,6] 可以生成{1: {2: {3: {4: {6: 5}}}}},寫一個函式定義n級
結果#encoding = utf-8#題目:#生成一個n級深度的字典,例如:[1,2,3,4,5,6] 可以生成{1: {2: {3: {4: {6: 5}}}}},寫一個函式定義n級a=[1,2,3,4,5,6] def fun(n,i=0,dict1={}): if i ==n-1: dict1[a[
如何使用迴圈計算1 + 2 +3 + 4 + 5 + 6 + 8 + 9 + 10的值
1、先嚐試輸出不包含7 第一種方式(在等於7時加1然後繼續下次迴圈) count = 1 while count <= 10: if count == 7: count += 1 # 如果等於7 在count=7的基礎上加1 然後繼續執行迴圈 co
50 之內的任意5個數之和為100 。數值:1,2,3,4,5,6....48,49,50,取其中的任意5個數,但這5個數相加之和要等於100,並將所有這種組合羅列.
/** * 求數值在 1 - 50 之內的任意5個數之和為100 。 * 數值:1,2,3,4,5,6....48,49,50 * 取其中的任意5個數,但這5個數相加之和要等於100,並將所有這種組合羅列 * 例: 1+10+19+20+50=100 * 3+14+
python入門:求1-2+3-4+5...99的所有數的和(自寫)
== 余數 奇數 nbsp int 當前 pre span bre 1 #!/usr/bin/env pyhton 2 # -*- coding:utf-8 -*- 3 #求1-2+3-4+5...99的所有數的和(自寫) 4 """ 5 給x賦值為0,給y賦值
ACMNO.13求Sn=1!+2!+3!+4!+5!+…+n!之值,其中n是一個數字。 輸入 n 輸出 和 樣例輸入 5 樣例輸出 153
題目描述 求Sn=1!+2!+3!+4!+5!+…+n!之值,其中n是一個數字。 輸入 n 輸出 和 樣例輸入 5 樣例輸出 153 來源/分類 C語言 題目截圖: 思路: 首先要想到使用兩個for迴圈語句,進行巢狀迴圈!
【Java】給定一個字串str,和一個字母ch,請實現相應的程式碼求出一個數組,使陣列中每個數字表示該位置與字母ch之間的最短距離。 比如str=”lexinfintech” ch=”i” 則輸出為:[3,2,1,0,1,1,0,1,2,3,4,5]
import java.util.ArrayList; import java.util.List; import java.util.Scanner; /** * @author: ycz * @date: 2018/12/17 0017 16:43 * @description: */ p
一個棧的輸入序列為1 2 3 4 5 的出站順序的理解
一個棧的輸入序列為1 2 3 4 5 的出站順序是什麼?這個經常會在面試的時候出現。如何判斷棧的進出問題一個棧的輸入序列為1 2 3 4 5,則下列序列中不可能是棧的輸出序列的是( )A. 2 3 4
一個關於執行緒的經典面試題,要求用三個執行緒,按順序列印1,2,3,4,5.... 71,72,73,74, 75. 執行緒1先列印1,2,3,4,5, * 然後是執行緒2列印6,7,8,9,10, 然後是
package thread; /** * * 一個關於執行緒的經典面試題,要求用三個執行緒,按順序列印1,2,3,4,5.... 71,72,73,74, 75. 執行緒1先列印1,2,3,4,5, * 然後是執行緒2列印6,7,8,9,10, 然後是執行緒3列印
將一個整形陣列逆序,如陣列a[5]={1,2,3,4,5},逆序之和陣列a變成了{5,4,3,2,1};
方法一: #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include&