2156分数行列
1268 ワード
ぶんすうマトリクス
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 5299 Accepted Submission(s): 3140
Problem Description
行列を定義します.
1/1 1/2 1/3
1/2 1/1 1/2
1/3 1/2 1/1
行列対角線上の要素は常に1/1であり,対角線の両側の点数の分母は1つずつ増加する.
この行列の合計を要求する.
Input
行ごとに与えられた整数N(N<50000)は、行列がN*Nであることを示し、Nが0であると入力が終了する.
Output
答えを出力し、2桁の小数を保持します.
Sample Input
Sample Output
数学の問題 法則を探せばいい
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 5299 Accepted Submission(s): 3140
Problem Description
行列を定義します.
1/1 1/2 1/3
1/2 1/1 1/2
1/3 1/2 1/1
行列対角線上の要素は常に1/1であり,対角線の両側の点数の分母は1つずつ増加する.
この行列の合計を要求する.
Input
行ごとに与えられた整数N(N<50000)は、行列がN*Nであることを示し、Nが0であると入力が終了する.
Output
答えを出力し、2桁の小数を保持します.
Sample Input
1
2
3
4
0
Sample Output
1.00
3.00
5.67
8.83
数学の問題 法則を探せばいい
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int n;
int j,k,l;
double sum;
while(scanf("%d",&n)!=EOF)
{
if(n==0) break;
sum=(double)n;
for(j=n,k=1;j>1;k++,j--)
{
sum+=(double)((1.0/((double)j))*((double)(k*2)));
}
printf("%.2lf
",sum);
}
return 0;
}