當前位置:首頁 » 編程語言 » 用c語言怎麼算連乘
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

用c語言怎麼算連乘

發布時間: 2023-03-12 00:17:24

c語言 1到N的乘積

#include<stdio.h>

int main()

{

int i,s = 1;

int N;

scanf("%d", &N);

for(i = 1; i<=N; i++)

s *=i;

printf("%d", s);

return 0;

}

(1)用c語言怎麼算連乘擴展閱讀:

階乘定義:

階乘是基斯頓·卡曼(Christian Kramp,1760~1826)於 1808 年發明的運算符號,是數學術語。

一個正整數的階乘(factorial)是所有小於及等於該數的正整數的積,並且0的階乘為1。自然數n的階乘寫作n!。1808年,基斯頓·卡曼引進這個表示法。

亦即n!=1×2×3×...×n。階乘亦可以遞歸方式定義:0!=1,n!=(n-1)!×n。

定義的必要性:

由於正整數的階乘是一種連乘運算,而0與任何實數相乘的結果都是0。所以用正整數階乘的定義是無法推廣或推導出0!=1的。即在連乘意義下無法解釋「0!=1」。

給「0!」下定義只是為了相關公式的表述及運算更方便。

參考資料來源:網路-階乘

⑵ C語言分式連乘問題,求簡化+可以輸入很大很大的數字

你每次乘以一個新的分式之後就進行約分,使你的分式始終保持最簡形式,則就可以不需要大整數了。如果實在要用的話VC6.0也可以用64位的整數啊,不過它是用_int64表示(無需添加任何特殊頭文件),輸出格式則為printf(「%I64d", ...); 例如
_int64 a = 98765432198765 * 2;
printf("%I64d", a);

不用大整數,程序則可如下做
#include <stdio.h>
int gcd(int x, int y) {
int m, n;
m = ((x > y) ? x : y);
n = ((x <= y) ? x : y);
if(m % n == 0) return n;
else return gcd(n, m % n);
}
void main( )
{
int a, b, c, x, y, n, i;
scanf("%d", &n);
x = 1; y = 1;
for(i = 0; i < n; i++) {
scanf("%d%d", &a, &b);
x *= a;
y *= b;
c = gcd(x, y);
x /= c;
y /= c;
}
if(y != 1) printf("%d/%d\n", x, y);
else printf("%d\n", x);
}

⑶ 用C語言怎麼乘啊

直接使用:19*23*149即可。

在c語言中,加減乘除運算符號分別為:+,-,*,/。%表示取余符號,例如a%b即求a除以b後的余數,c語言中括弧運算只能使用()。

例如:

#include<stdio.h>
intmain(){
intn;
n=19*23*149;
printf("%d ",n);
return0;
}
/*
輸出:
65113
*/

⑷ 動態規劃 矩陣連乘 c語言

#include <stdio.h>
#include <limits.h>
#include<stdlib.h>
#define LENGTH 6

void MatrixChainOrder(int p[],int m[][LENGTH],int s[][LENGTH])
{
int n=LENGTH;
int i,j,k,r,t;
for(i=0;i<n;i++)
m[i][i]=0;
for( r=1;r<n;r++)
{
for(i=0;i<n-r;i++)
{

j=i+r;
m[i][j]=m[i][i]+m[i+1][j]+p[i]*p[i+1]*p[j+1];
s[i][j]=i;
for(k=i+1;k<j;k++)
{
t=m[i][k]+m[k+1][j]+p[i]*p[k+1]*p[j+1];
printf("t=%d;,m[%d][%d]=%d\n",t,i,j,m[i][j]);
if(t<m[i][j])
{
m[i][j]=t;
s[i][j]=k;
}
}

}

}
}
int main()
{
int p[] = {30,35,15,5,10,20,25};
int m[LENGTH][LENGTH];
int s[LENGTH][LENGTH];
int i,j,k;
MatrixChainOrder(p,m,s);
printf("最少數乘次數:\n");
for(i = 0;i<LENGTH;i++)
{ for(j = 0 ;j<=i ;j++ )
printf(" ");
for(k = i; k<LENGTH;k++)
printf("%8d",m[i][k]);
printf("\n");
}
printf("斷開位置:\n");
for(i = 0;i<LENGTH;i++)
{ for(j = 0 ;j<=i ;j++ )
printf(" ");
for(k = i; k<LENGTH;k++)
printf("%4d",s[i][k]);
printf("\n");
}

system("Pause");
return 0;
}

⑸ C語言連乘編程

這不就是5!么?
main()

{

int i ,s=1;

for(i=1;i<=5;i++)

s*=i;

printf("%d\n,s");

}