C語言程式設計入門(7 31 7 35)

2021-09-28 17:58:05 字數 4394 閱讀 5894

對任意乙個自然數n0n_

n0​,先將其各位數字相加求和,再將其和乘以3後加上1,變成乙個新自然數n1n_

n1​;然後對n1n_

n1​ 重複這種操作,可以產生新自然數n2n_

n2​;……多次重複這種操作,運算結果最終會得到乙個固定不變的數nkn_

nk​,就像掉入乙個數字「陷阱」。

本題要求對輸入的自然數,給出其掉入「陷阱」的過程。

輸入格式:

在一行內給出乙個自然數n0n_

n0​(n0n_

n0​<30000)。

輸出格式:

對於輸入的n0n_

n0​,逐行輸出其掉入陷阱的步驟。第i行描述n掉入陷阱的第i步,格式為: i:nin_

ni​(i≥1)。當某一步得到的自然數結果nkn_

nk​(k≥1)與上一步nk−

1n_

nk−1

​相同時,停止輸出。

輸入樣例:

5輸出樣例:

1:16

2:22

3:13

4:13

#include

intcalculate

(int n0)

result = sum *3+

1;return result;

}int

main()

temp = result;

}return0;

}

本題要求編寫程式,計算交錯序列 1-2/3+3/5-4/7+5/9-6/11+… 的前n項之和。

輸入格式:

輸入在一行中給出乙個正整數n。

輸出格式:

在一行中輸出部分和的值,結果保留三位小數。

輸入樣例:

5輸出樣例:

0.917

#include

intmain()

printf

("%.3f\n"

,sum)

;return0;

}

def

isprime

(n):

if n==2:

return

true

elif n%2==

0:return

false

else

: m=n%

6#大於5 的素數必然出現在6的倍數兩側,因為6x+2,6x+3,6x+4,肯定不是素數,假設x為大於1的自然數

if m!=

1and m!=5:

return

false

else

:for i in

range(3

,int

(n**2)

+1,2

):if n%i==0:

return

false

break

else

:return

true

在c語言中

#include

#include

#include

bool isprime

(unsigned

long n)

return true;

intmain()

}

def demo(n):

def isprime(p):

if p==2:

return true

if p%2==0:

return false

for i in range(3,int(p**0.5)

+1,2):

if p%i==0:

return false

return true

if isinstance(n,int) and n>0 and n%2==0:

for i in range(2,n//2+1):

if isprime(i) and isprime(n-i):

print(i,

'+',n-i,

'=',n)

def

primes

(maxnumber)

:"""篩選法獲取小於maxnumber的所有素數"""

# 待判斷整數

lst=

list

(range(3

,maxnumber,2)

) m=

int(maxnumber**

0.5)

for index in

range

(m):

current = lst[index]

# 如果當前數字已大於最大整數的平方根,結束判斷

if current>m:

break

# 對該位置之後的元素進行過濾

lst[index+1:

]=list

(filter

(lambda x:x%current!=

0,lst[index+1:

]))#2也是素數

return[2

]+lst

print

(primes(

100)

)# [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]

#include

#include

intisprime

(int n)

max =

sqrt

(n);

for(i=

2;i<=max;i++)}

return1;

}

本題要求統計給定整數m和n區間內素數的個數並對它們求和。

輸入格式:

輸入在一行中給出兩個正整數m和n(1≤m≤n≤500)。

輸出格式:

在一行中順序輸出m和n區間內素數的個數以及它們的和,數字間以空格分隔。

輸入樣例:

10 31

輸出樣例:

7 143

#include

#include

intisprime

(int n)

return1;

}int

main()

}printf

("%d %d"

,count,sum)

;return0;

}

1素數和(5分)

題目內容:

我們認為2是第乙個素數,3是第二個素數,5是第三個素數,依次類推。

現在,給定兩個整數n和m,0#include

#include

intisprime

(int number)

max =

sqrt

(number)

;for

(int i=

2;i<=max;i++)}

return number;

}int

main()

} i++;}

printf

("%d"

,sum)

;return0;

}本題要求編寫程式,計算序列 2/1+3/2+5/3+8/5+… 的前n項之和。注意該序列從第2項起,每一項的分子是前一項分子與分母的和,分母是前一項的分子。

輸入格式:

輸入在一行中給出乙個正整數n。

輸出格式:

在一行中輸出部分和的值,精確到小數點後兩位。題目保證計算結果不超過雙精度範圍。

輸入樣例:

20輸出樣例:

32.66

#include

intmain()

printf

("%.2f\n"

,sum)

;return0;

}

乙隻猴子第一天摘下若干個桃子,當即吃了一半,還不過癮,又多吃了乙個;第二天早上又將剩下的桃子吃掉一半,又多吃了乙個。以後每天早上都吃了前一天剩下的一半加乙個。到第n天早上想再吃時,見只剩下乙個桃子了。問:第一天共摘了多少個桃子?

輸入格式:

輸入在一行中給出正整數n(1輸出格式:

在一行中輸出第一天共摘了多少個桃子。

輸入樣例:

3輸出樣例:

10

#include

intmain()

printf

("%d"

,sum)

;return0;

}

程式設計練習 程式設計入門 C語言

程式每次讀入乙個正三位數,然後輸出逆序的數字。注意,當輸入的數字含有結尾的0時,輸出不應帶有前導的0。比如輸入700,輸出應該是7。簡單一點 include intmain 複雜一點 需要考慮到百位十位為零的情況 include intmain return0 utc是世界協調時,bjt是北京時間,...

c語言程式設計入門(二)

include int main 對於這個程式,可能需要先講一下printf這個函式的使用 printf函式是乙個標準庫函式,它的函式原型在標頭檔案 stdio.h 中。但作為乙個特例,不要求在使用 printf 函式之前必須包含stdio.h檔案。printf函式呼叫的一般形式為 printf 格...

C語言程式設計入門(三)

寫程式就像建立模型一樣,乙個完整的程式不僅有所謂的磚,也有所謂的框架,其實框架這個東西在後來的學習中將會指代封閉好的工具包一樣的東西。在這裡我們指的框架是指如何讓這些 磚 完成更加複雜的功能。這就涉及到了一些語句。即順序執行的語句,按照一定條件才執行的語句,按照條件進行迴圈的語句。順序語句不用多說,...