poj--1517
1394 ワード
nは0から9までとり,1つのforサイクル,n+,n=0,n<=9
n=4,1/4を求めます!+1/3!+1/2!+1/1!+1/0!
forループが必要です.i=n、i>=0、i---
sum+=factorial(i)
すなわち、第1のforサイクルは次のnを決定し、第2のforサイクルはこの値で0に減算する
WA数回:
テクニック:%gは余分な0を省略することができて、例えば1.000000、私は浮動小数点を定義して、しかし私は%gの下で、出力1
発見:1.10 gの小数点の後で9位だけあって、ある9位は0で、小数点の後で8位だけあります
2.c言語の特性を発見する:対の1:
2:
エラー:
コードは以下の通りです:後日大数階乗を見ます
n=4,1/4を求めます!+1/3!+1/2!+1/1!+1/0!
forループが必要です.i=n、i>=0、i---
sum+=factorial(i)
すなわち、第1のforサイクルは次のnを決定し、第2のforサイクルはこの値で0に減算する
WA数回:
テクニック:%gは余分な0を省略することができて、例えば1.000000、私は浮動小数点を定義して、しかし私は%gの下で、出力1
発見:1.10 gの小数点の後で9位だけあって、ある9位は0で、小数点の後で8位だけあります
2.c言語の特性を発見する:対の1:
int main()
{
double a;
int temp=9;
a=1.0/temp;
printf("%lf",a);
}
2:
int main()
{
double a;
int temp=9;
a=(double)1/temp;
printf("%lf",a);
}
エラー:
int main()
{
double a;
int temp=9;
a=(double)(1/temp);
printf("%lf",a);
}
コードは以下の通りです:後日大数階乗を見ます
#include <stdio.h>
#include <stdlib.h>
int factorial(int index)
{
int i,temp=1;
if(index==0)
return 1;
else{
for(i=index;i>0;i--)
{
temp=temp*i;
}
return temp;
}
}
int main()
{
int n,i;
printf("n e
");
printf("- -----------
");
for(n=0;n<10;n++)
{
double sum=0;
for(i=n;i>=0;i--)
{
sum+=(double)1/factorial(i);
}
printf("%d %.10g
",n,sum);
}
return 0;
}