圓周率的計算(C語言版,絕對精華)
#include<stdio.h>
long a=10000,b,c=2800,d,e,f[2801],g;
main()
{
for(;b-c;) f[b++]=a/5;
for(;d=0,g=c*2;c-=14,printf("%.4d",e+d/a),e=d%a)
for(b=c;d+=f[b]*a,f[b]=d%--g,d/=g--,--b;d*=b);
scanf("%s");
return 0;
}
太牛的程式了,演算法了不起,哪位老兄可以解釋一下,讓小弟長長見識!
相關推薦
圓周率的計算(C語言版,絕對精華)
#include<stdio.h>long a=10000,b,c=2800,d,e,f[2801],g;main(){ for(;b-c;) f[b++]=a/5; for(;d=0,g=c*2;c-=14,printf("%.4d",e+d/a),e=d%a)
1020 月餅(C語言版 + 註釋 + 貪心演算法)
月餅是中國人在中秋佳節時吃的一種傳統食品,不同地區有許多不同風味的月餅。現給定所有種類月餅的庫存量、總售價、以及市場的最大需求量,請你計算可以獲得的最大收益是多少。 注意:銷售時允許取出一部分庫存。樣例給出的情形是這樣的:假如我們有 3 種月餅,其庫存量分別為 18、15、
二分查詢 (C語言版 + 註釋 + 完整程式碼)
本題要求實現二分查詢演算法。 函式介面定義: Position BinarySearch( List L, ElementType X ); 其中List結構定義如下: typedef int Position; typedef struct LNode *List
1005 繼續(3n+1)猜想(C語言版 + 註釋 + 複雜對映)
卡拉茲(Callatz)猜想已經在1001中給出了描述。在這個題目裡,情況稍微有些複雜。 當我們驗證卡拉茲猜想的時候,為了避免重複計算,可以記錄下遞推過程中遇到的每一個數。例如對 n=3 進行驗證的時候,我們需要計算 3、5、8、4、2、1,則當我們對 n=5、8、4、2
如何在串列埠除錯助手上,使用printf()函式顯示十進位制的資料及漢字說明(c語言版)
估計很多人和我一樣,很想直接在串列埠除錯助手上顯示十進位制資料,我最近在做一個專案,當然本人也是小白,但這個問題已經被我解決了,希望幫助需要的人。 我們都知道,串列埠助手一般都只能顯示十六進位制資料和字元,如果我們想將控制器的實時資料通過串列埠傳送到上位機,方便監測,最好直接顯示十進位制資料。廢
(C語言版)連結串列(一)——實現單向連結串列建立、插入、刪除等簡單操作(包含個人理解說明及註釋,新手跟著寫程式碼)
我學習了幾天資料結構,今天下午自己寫了一個單向連結串列的程式。我也是新手,所以剛開始學習資料結構的菜鳥們(有大牛們能屈尊看一看,也是我的榮幸)可以和我一起共同學習、討論,當然也很高興能指出我的錯誤,因為這是我們一起成長的過程。本程式碼包含我在寫程式時的一些個人理解的說
(C語言版)二叉樹遍歷演算法——包含遞迴前、中、後序和層次,非遞迴前、中、後序和層次遍歷共八種
#include <stdlib.h> #include <stdio.h> #include "BiTree.h" #include "LinkStack.h" #include "LinkQueue.h" //初始化二叉樹(含根節點) void InitBiTree(pBiTr
資料結構(C語言版)第三版 基礎實驗二
1、編寫函式slnklist delx(linklist head, datatype x),刪除不帶頭結點單鏈表head中第一個值為x 的結點。 並構造測試用例進行測試。 2、假設線性表(a1,a2,a3,…an)採用不帶頭結點的單鏈表儲存, 請設計演算法函式linklist reverse1
資料結構(C語言版)第三版基礎實驗一
1、基於sequlist.h中定義的順序表,編寫演算法函式reverse(sequence_list *L),實現順序表的就地倒置。 2、編寫一個演算法函式void sprit( sequence_list *L1,sequence_list *L2,sequence_list *L3), 將順
資料結構(C語言版)讀書筆記1(基本概念和術語)
資料: 所有輸入到計算機中,並被計算機程式處理的符號的總稱。 資料元素: 資料的基本單位,在計算機程式中經常被當做一個整體進行考慮和處理 資料物件: 性質相同的資料元素的集合,是資料的一個子集。 資料結構: 相互之間存在一種或多種特定關係的資料元素的集合。這種資料元素之間
手搓一個兔子問題(分享一個C語言問題,持續更新...)
大家好,我是小七夜,今天就不分享C語言的基礎知識了,分享一個比較好玩的C語言經典例題:兔子問題 題目是這樣的:說有一個窮苦人這天捉到了一隻公兔子,為了能繁衍後代他又買了一隻母兔子,後來兔子開始生小兔子(一次生一個小兔子),假設兔子不會死亡,第二十次這個窮苦人能有多少隻兔子呢? 題目解析:分析題目我
LeetCode -- 50 Pow(x, n)(C語言版)
題目描述: 程式碼如下(附有詳解): double myPow(double x, int n) //如果n為零,表明冪數為0,直接返回1 if(n == 0) return 1; //如果n為零,表明冪數為0,直接返回x
資料結構(c語言版)中線性表的單鏈表儲存結構
本文轉自:https://blog.csdn.net/prlhnxx/article/details/79174782 /* run this program using the console pauser or add your own getch, system("pause") or i
初夏小談:斐波那契三種實現方法(C語言版)(第三種相信你沒見過)
斐波那契數列(Fibonaccisequnce),又稱黃金分割數列。研究斐波那契數列有相當重要的價值,例在現代物理、準晶體結構、化學等領域都有直接的應用。因此研究斐波那契數列也是很有必要的。 今天初夏將為大家帶來計算斐波那契數列第n位的三種方法 第一種利用遞迴的方法計算,程式碼相當簡單,但其
關於嚴蔚敏老師《資料結構(C語言版)》書中程式碼的誤解
清華大學嚴蔚敏老師的《資料結構(C語言版)》以其嚴謹被奉為經典,我是從其Pascal版一路追著買到C語言版,一直覺得這本書理論功力深厚,是不可多得的資料結構教材。但其編寫過程中為避免太過拘泥於具體語言細節,使用了ADT描述,具體演算法中使用了偽碼描述,對於新手直接把程式碼原樣照抄是沒法直接在電腦
設計模式之單利模式(C#語言描述,附視訊下載地址)
今天來介紹所有設計模式中結構最簡單的設計模式單例模式,它的核心結構中只包含一個被稱為單例類的特殊類。 要想完成單例類的設計,我們要遵循一下原則即可: 1、一個類只能有一個例項 2、確保該例項對外有一個訪問入口(保證我們的系統可以從這個入口拿到該類的唯一例項) 3、將單例類的建構函式私有化(private),當
排序演算法(C語言版)
交換類 氣泡排序(Bubble Sort) O(n2)O(n^2)O(n2) 最簡單的一種排序演算法。先從陣列中找到最大值(或最小值)並放到陣列最左端(或最右端),然後在剩下的數字中找到次大值(或次小值),以此類推,直到陣列有序排列。 void Bubble
L1-028 判斷素數(C語言版)
L1-028 判斷素數 (10 分) 本題的目標很簡單,就是判斷一個給定的正整數是否素數。 輸入格式: 輸入在第一行給出一個正整數N(≤ 10),隨後N行,每行給出一個小於2 ^31 的需要判斷的正整數。 輸出格式: 對每個需要判斷的正整數,如果它是素數,則在
LeetCode--153 尋找旋轉排序陣列中的最小值 (Find Minimum in Rotated Sorted Array)(C語言版)
題目描述: 解題思路:可以使用順序遍歷,將最小值記錄下來,時間複雜度為O(n),但是根據題目描述,該陣列為旋轉排序陣列,這裡就可以聯想到二分查詢,試著用二分查詢的思想,首先使用Lindex和Rindex記錄左右區間的下標,然後再用Mindex表示區間中間元素的下標,根據
用C語言實現線性表歸併_含原始碼和執行結果_資料結構(C語言版)
採用動態分配順序儲存結構實現 採用單鏈表結構實現 1.採用動態分配實現 #include<stdio.h> #include<stdlib.h> #define LIST_INIT_SIZE 100 #define LISTINCREM