高精度加法(非负)和大数阶乘及和汽水问题
生活随笔
收集整理的這篇文章主要介紹了
高精度加法(非负)和大数阶乘及和汽水问题
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
高精度加法(非負(fù))和大數(shù)階乘
文章目錄
- 高精度加法(非負(fù))和大數(shù)階乘
- 一、問題描述
- 二、代碼
- 三、問題描述
- 四、代碼
- 五、問題描述
- 六、代碼
一、問題描述
二、代碼
#define _CRT_SECURE_NO_WARNINGS #include<Windows.h> #include<stdio.h> #define MaxSize 100 //高精度加法:兩個(gè)大整數(shù)非負(fù) int main() {char a[MaxSize];char b[MaxSize];char c[MaxSize];int i = 0;for (;i < MaxSize;i++){a[i] = 0;b[i] = 0;c[i] = 0;}printf("請(qǐng)輸入第一個(gè)大整數(shù):\n");scanf("%s", &a);printf("請(qǐng)輸入第一個(gè)大整數(shù):\n");scanf("%s", &b);int lena = strlen(a);int lenb = strlen(b);for (i=0;i < lena || i < lenb;i++){/*因?yàn)樽址鶖?shù)組里面存的時(shí)候都是從數(shù)組首元素開始存的,即數(shù)組第0位都存著兩個(gè)大整數(shù)的最高位,數(shù)組第1位存兩個(gè)大整數(shù)此高位,以此類推,*/if (i < lena){c[i] += a[lena - 1 - i]-'0';//因?yàn)橄嗉拥臅r(shí)候都是從最低為開始相加,即兩個(gè)數(shù)組的最后一位最先開始相加}if (i < lenb){c[i] += b[lenb - i - 1]-'0';}if (c[i] >= 10){c[i + 1] = c[i] / 10;//從C數(shù)組第1位開始存儲(chǔ)和c[i] = c[i] % 10;}}if (lena < lenb)//取得兩數(shù)組較大的長(zhǎng)度{lena = lenb;}if (c[lena] > 0){printf("%d", a[lena]);}for (i = lena - 1;i >= 0;i--)//輸出{printf("%d", c[i]);}system("pause");return 0; }三、問題描述
四、代碼
#define _CRT_SECURE_NO_WARNINGS #include<Windows.h>//大數(shù)階乘001 #include<stdio.h> void JieCheng(int n) {int a[2000];int i = 0;int j = 0;int weishu = 1;int tem = 0;//臨時(shí)存儲(chǔ)a[0] = 1;for (i = 2;i <= n;i++){int num = 0;for (j = 0;j < weishu;j++){tem = a[j] * i + num;a[j] = tem % 10;num = tem / 10;}while (num){a[weishu] = num % 10;num = num / 10;weishu++;}}for (i = weishu - 1;i >= 0;i--){printf("%d", a[i]);} } int main() {int n = 0;while (n != EOF){printf("請(qǐng)輸入要求階乘得數(shù):\n");scanf("%d", &n);JieCheng(n);}system("pause");return 0; }五、問題描述
喝汽水,1瓶汽水1元,2個(gè)空瓶可以換一瓶汽水, //給20元,可以多少汽水。 //編程實(shí)現(xiàn)。六、代碼
int main() {int money = 20;int woter = money;//汽水瓶數(shù)int pinpin = woter;//開始空瓶數(shù)int num = 0;//記錄剩余空瓶樹int lastpinpin = pinpin;//總空瓶數(shù)while (pinpin){pinpin = lastpinpin / 2;//2個(gè)空瓶換一瓶汽水,換到多少汽水,就得到多少空瓶num = lastpinpin % 2;//記錄上次換完汽水有沒有剩余lastpinpin=pinpin+ num;//總空瓶樹==得到的汽水?dāng)?shù)+剩余空瓶數(shù)woter += pinpin;//每次給汽水加上}printf("%d", woter);system("pause");return 0; }總結(jié)
以上是生活随笔為你收集整理的高精度加法(非负)和大数阶乘及和汽水问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 十种基本排序算法
- 下一篇: C++中类的6个默认成员函数