計算機語言中除了硬編碼和基本迴圈方式外你還有那些方式輸出 1 100?

時間 2021-05-12 05:37:27

1樓:加百列

1. 讀取/dev/random,搜尋出符合要求的整數,排序後按順序輸出。

2. 讀取檔案inode編號,輸出。

3. 一邊建立檔案,一邊讀取檔案數量,同時輸出。

4. 使用clone()與mmap(),每建立乙個程序,記憶體計數就加1輸出。

5. 給printf封裝乙個引用計數,和檢測。每呼叫一次計數加1,檢測到計數增加就輸出計數。這個應該算遞迴。

6. 不停地建立新程序,同時獲取子程序pid後兩三位,滿足要求就輸出pid,不滿足就繼續建立。

7. 語言自帶的偽隨機數生成函式。

8. 隨機讀取記憶體或硬碟資料,讀取到符合要求的資料就輸出。

2樓:抓抓

寫乙個類,建構函式裡初始化乙個

static int counter = 0;

counter++;

cout << counter;

然後new 乙個100長度的陣列,元素就是上面的類的物件。搞定。

3樓:九條可憐

用C++17的fold expression#include

#include

template

...values

>void

print

(std

::index_sequence

...>

)int

main

());}

4樓:

void print( int n )

{cout<

之後,取消優化,修改記憶體限制,使得程式剛好在遞迴100次時炸掉

5樓:

迴圈它兄弟遞迴

public

class

Test}}

第二種多執行緒

,還是比較像遞迴

public

class

Test

extends

Thread

@Override

public

void

run()

catch

(InterruptedExceptione)newTest

(++i

).start

();}

}public

static

void

main

(String

args)}

6樓:Arowa.Z

lt;不記得在哪看到的了,感覺自己根本不會C(現在確實已經忘得差不多了

7樓:

defPrintRange(a

,b):ifa==

b:return

print(a

,end

=' '

)PrintRange(a

+1,b

)PrintRange(1

,101

)遞迴也是一種迴圈 (小並感)

8樓:YiNing Wang

兩個人互派任務

無限生孩子

#include

#include

#include

#include

#include

static std::mutex mtx;

class threadF

struct A

std::auto_ptr pChild;

};int main()

9樓:賀小五

哈哈.,樓上各種炫技,我來個偏門點的吧.

user

=>(range

1101)(

0123

4567

89.......

100)

clojure 獲取 1-100

如果還想列印..這樣

(print'(

range

1101

))or

(print

(vec

(range

1101

)))以上嘛.....

溜了溜了

10樓:簡單小煜

@黃玄 Peano粗來了,窩就補乙個Church的答案 ~zero=f

=>x=>xsucc=n

=>f=>x=>f(

n(f)(

x))f=

l=>l.

concat(l

.slice(-

1).pop()+1

)nat=n

=>n==

0?zero

:succ

(nat(n

-1))console

.log

(nat(99

)(f)([1

]))// [1,2,..,100]

11樓:

deffunction(n

):printnn

=n+1

ifn<

100:

function(n

)function(0)

12樓:黃玄

可以用代數資料型別(Algebraic Data Type)+ 歸納法(Induction)+ 模式匹配(Pattern Matching)來做,很沒用但是挺思想實驗的蠻有意思的

這裡用的 ReasonML,方便熟悉 JSer 閱讀。我還特地標了函式的型別和注釋

/* 自然數型別的定義 */

type

nat=

|Zero

|Succ

(nat

);/* 對自然數型別做結構歸納,並列印 */letrec

print_nat=(

n: nat

): int

=>;switch(n

);};/* 對整數 i 做數學歸納法求 100 的自然數型別 */lethundred=;

toNat

(100

);};

print_nat

(hundred

);用得 Rust 的高亮(

我覺得 Reason 說不定會把 match 改回來,switch 看著不爽...

編輯器裡看很好看的 ;)

13樓:Waiter

public

static

void

Main

()));

}})();}

14樓:機智的吉公尺

SQL的遞迴

CREATE

TABLE

one_to_one_hundred

ASWITH

num(n)

AS(SELECT

1UNION

SELECTn+

1FROM

numWHERE

n<100)

SELECT

*FROM

num;

SELECT

*FROM

one_to_one_hundred;

15樓:Milo Yip

利用C++14帶初始化器的捕獲可以用乙個語句實現:

#include

#include

#include

int main() );

}Wolfram 用 Range 就可以了:

16樓:mxlucid

R Environment

print(1:100)

按理說這應該不是簡單迴圈而是向量運算

確認了一下,這個應該真的不是迴圈。。。。。。。就是個向量運算。Python的range()是迴圈,大概是類似於迭代器一類的東西。。。。?

17樓:

#include

#include

#define UPPERBOUND 100/* 提速黑魔法 */

#define time(p) (time(p)/86400)intmain

(void

)return0;

}我也不知道這程式要跑多久,其實複雜度也就 吧(霧要不衝個會員咱給您優化一下?(彌天大霧

=== 手動小分割線 ===

以前在CSDN見過用個什麼Windows的緩衝區輸出100個數的,利用Bug的來著,忘了……

其實Python的什麼

#print(" ".join([str(i+1) for i in range(100)]))

print

(range(1

,101

))底下也都是簡單迴圈的……所以怎麼樣才算其他方式呢?謎……

18樓:

function

fun(i)

return

print(i

)ori-

1<=0or

fun(i-

1)endfun

(100

)lua做成尾遞迴有個好出層數再多也不會炸

19樓:

import

random

print

([random

.randint(1

,100

)forxin

range

(100

)])然後看臉(逃

想想上面不僅傻還多此一舉,太強行了,暫時想不出如何去掉range最後寫個正經版本:f=

lambdax:

f(x-

1)orprint(x

)ifx>

1else

print(x

)f(100)

20樓:momo owo

#include

#define A "%d\n"

#define B(a) ,a--

#define C(a) a a a a a a a a a a#define D(a) b = a, c = printf(C(C(A)) C(C(B(b))));

intmain

(int

argc

,char

*argv

)我不知道有沒有人能看懂……@左江

21樓:劉藝

leta=

;a["99"]=

null

;let

result

=Array

.from(a

);result

.map((e

,index

)=>console

.log

(index+1))

22樓:櫻花殘月

還可以既不用if,也不用+、-號,也不用函式遞迴。。

#include

#include

using namespace std;

class A ;

A(int c) {};

A(shared_ptra)

bool operator =(shared_ptra)};using namespace std;

int main()

23樓:暮無井見鈴

硬編碼擦邊球(C++17 摺疊表示式)。實現 ostream 和 printf 兩個版本。

(雖然 printf 版已經比硬編碼還長了)#include

#include

#include

template

size_t

...I

>void

print_indices_plus_n_v1(std

::index_sequence

>,std

::size_tn)

template

...C

>struct

char_sequence;};

template

...C1

,char

...C2

>constexpr

auto

operator+(

char_sequence

>,char_sequence

>)noexcept

->char_sequence

C2...

>;}template

size_t

...I

>void

print_indices_plus_n_v2(std

::index_sequence

>,std

::size_tn)

)+...).

ntstr,(

I+n)...

);// 如果要保證編譯時求值,可以再加一層 decltype}int

main(),

1);print_indices_plus_n_v2(std

::make_index_sequence<

100>

{},1);}

24樓:諸葛不亮

#include

#include

#include

intmain

(int

argc

,char

*argv));

timer

.start(1

);return

.exec

();}

25樓:w2014

這個好像還沒人說誒…

為啥不做成多執行緒呢?

因為啟動執行緒要迴圈?

AMP parallel_for_each也不是不行啊…對吧…

26樓:

template

>struct

Printer

:Printer

};template

<>struct

Printer

<0>;Printer

<100>

g_Printer

;int

main

(){}

如何解釋計算機語言中的 演算法 ?

北南 演算法是如何解決某一類問題的一段精準的描述。我們一般用演算法處理計算 資料處理和自動推理類的問題。這是來自英文wikipedia的定義。如果我們把計算機語言理解為指令集的話,我們通過合理組織這些指令,從而在有限的步數內,讓計算機能處理完成乙個任務,這就是演算法。演算法未必需要在計算機上執行,比...

新手適合學什麼計算機語言?

LeComteDem 看目的像比較喜歡web前端 可以先從python下手,順便大致了解一下程式設計的基礎要素然後再學html,css搞些簡單的靜態網頁接下來試著js讓網頁動起來 最後學學php和資料庫,知道網頁與資料庫的互動精通以上任一乙個你就很牛了 擼碼客 又是乙個為了錢來的。給你提個醒吧 你可...

學歷不高想轉入計算機語言?

徐風來 加油,有毅力,有興趣,就一定行。可以先學一段時間,看看自己喜歡不喜歡。凡事難就難在開始,只要開始了,永遠都是最早的時候 猶猶豫豫,患得患失,才是真的來不及了! invictus 以你目前的描述來看,全是短板,各方面可以說0基礎,要補起來需要很大的毅力。你考慮過自己轉計算機有什麼優勢嗎,如果是...