题目描述

我们定义如下矩阵:
1/1 1/2 1/3
1/2 1/1 1/2
1/3 1/2 1/1
矩阵对角线上的元素始终是1/1,对角线两边分数的分母逐个递增。
请求出这个矩阵的总和。

输入

输入包含多组测试数据。每行给定整数N(N<50000),表示矩阵为N*N。当N=0时,输入结束。

输出

输出答案,结果保留2位小数。

样例输入

1
2
3
4
0

样例输出

1.00
3.00
5.67
8.83 这题就是一个规律题
#include<stdio.h>
int main ()
{
int n;
int i;
double sum;
while(scanf("%d",&n),n)
{
sum=;
sum+=n*;
for (i=;i<=n;i++)
{
sum+=1.0/i*(n-i+)*;
}
printf ("%.2f\n",sum);
}
return ;
}

用算法笔记上的写法时间超限了

#include<bits/stdc++.h>

using namespace std;
struct Fraction
{
int up,down;//分子 分母
//Fraction(){}
Fraction(int _up=,int _down=):up(_up),down(_down){}
};
int gcd(int a,int b)
{
if(b==) return a;
return gcd(b,a%b);
}
Fraction reduction(Fraction result)//分数的化简
{
if(result.down<){//分母为负数,令分子和分母都变为相反数
result.down=-result.down;
result.up=-result.up;
}
if(result.up==) result.down=;//如果分子为0 分母为1
else{//约去最大公约数
int d=gcd(abs(result.up),abs(result.down));
result.up/=d;
result.down/=d;
}
return result;
}
int main()
{
int n;
while(scanf("%d",&n)==&&n!=){
Fraction s[n*n+];
for(int i=;i<=n;i++){
s[n*(i-)+i].up=;
s[n*(i-)+i].down=;
} for(int i=;i<=n;i++){
for(int j=;j<=n;j++){
if(i!=j){
if(j>i){
s[n*(i-)+j].down=s[n*(i-)+j-].down+;
s[n*(i-)+j].up=;
}
}
}
}
for(int i=;i<=n;i++){
for(int j=;j<=n;j++){
if(j<i){
s[n*(i-)+j].down=s[n*n+-n*(i-)-j].down;
s[n*(i-)+j].up=;
}
}
}
Fraction c;
c.down=s[].down;
c.up=s[].up;
for(int i=;i<=n*n;i++){
c.up=s[i].up*c.down+c.up*s[i].down;
c.down=s[i].down*c.down;
c=reduction(c);
cout<<c.up<<" "<<c.down<<endl;
}
printf("%.2f\n",1.0*c.up/c.down);
}
return ;
}

分数的四则运算就是我们正常的四则运算

问题 A: 分数矩阵的更多相关文章

  1. HDU_2156 分数矩阵

    Problem Description             我们定义如下矩阵:            1/1 1/2 1/3            1/2 1/1 1/2            1 ...

  2. HDOJ(HDU) 2156 分数矩阵(嗯、求和)

    Problem Description 我们定义如下矩阵: 1/1 1/2 1/3 1/2 1/1 1/2 1/3 1/2 1/1 矩阵对角线上的元素始终是1/1,对角线两边分数的分母逐个递增. 请求 ...

  3. [hdu2156]分数矩阵

    Problem Description 我们定义如下矩阵:1/1 1/2 1/31/2 1/1 1/21/3 1/2 1/1矩阵对角线上的元素始终是1/1,对角线两边分数的分母逐个递增.请求出这个矩阵 ...

  4. HDU 2156 分数矩阵

    http://acm.hdu.edu.cn/showproblem.php?pid=2156 Problem Description 我们定义如下矩阵:1/1 1/2 1/31/2 1/1 1/21/ ...

  5. 基于MapReduce的SimRank++算法研究与实现

    一.算法应用背景 计算广告学(Computational Advertising)是一门广告营销科学,以追求广告投放的收益最大化为目标,重点解决用户与广告匹配的相关性和广告的竞价模型问题,涉及到自然语 ...

  6. 洛谷P1074 靶形数独(算竞进阶习题)

    还是数独.. 比上一个多了个分数矩阵,其实没什么差别,但是数据好像水了许多... #include <bits/stdc++.h> #define INF 0x3f3f3f3f using ...

  7. 《TC训练赛一》题解!

    以下题目标题就是此题题目链接,题目内容为了节省篇幅就不粘上去了.整套题的链接:https://acm.bnu.edu.cn/v3/contest_show.php?cid=8679#info 密码:7 ...

  8. 用深度学习做命名实体识别(七)-CRF介绍

    还记得之前介绍过的命名实体识别系列文章吗,可以从句子中提取出人名.地址.公司等实体字段,当时只是简单提到了BERT+CRF模型,BERT已经在上一篇文章中介绍过了,本文将对CRF做一个基本的介绍.本文 ...

  9. LPAT: Learning to Predict Adaptive Threshold for Weakly-supervised Temporal Action Localization [Paper Reading]

    Motivation: 阈值分割的阈值并没有通过模型训练学出来,而是凭借主观经验设置,本文通过与背景得分比较提取对应的proposal,不用阈值的另一篇文章是Shou Zheng的AutoLoc,通过 ...

随机推荐

  1. VSTO Project 客户端自动发送邮件

    利用office vsto功能,抓取我们选择的任务,根据配置节,邮件发送内容,最终根据任务名称,任务开始结束时间,任务资源名称,发送邮件给任务资源. 这是我的VSTO界面. 配置我们发送邮件的服务器地 ...

  2. LeetCode15.三数之和 JavaScript

    给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组. 注意:答案中不可以包含重复的三元组. ...

  3. node学习----Promise 初见

    今天在网上查看promise资料,发现promise有三种状态,pending,fullfilled,rejected.分别对应了初始化状态,成功状态及失败状态.为了理解写测试代码来实验:functi ...

  4. pl sql 存储过程、函数

    存储过程用于执行特定的操作,当建立存储过程时,既可以指定输入参数(in),也可以指定输出参数(out),通过在过程中使用输入参数,可以将数据传递到执行部分:通过使用输出参数,可以将执行部分的数据传递到 ...

  5. SpringBoot学习16:springboot整合junit单元测试

    1.创建maven项目,修改pom.xml文件 <!--springboot项目依赖的父项目--> <parent> <groupId>org.springfram ...

  6. cornerstone提示“SQLite-database disk image is malformed”

    当点击workingCopy时错误如下 google了一下,有是有解决的办法,可是这些都是直接使用sqlite时产生的问题. sqlite错误 The database disk image is m ...

  7. 简明 ES6 模块

    简明 ES6 模块 1.什么是模块 模块就是一段代码,这段代码可以反复使用,经常单独写成一个文件,一旦加载会立即执行. 2.导出 导出有 2 种方式:命名导出和默认导出,分别用关键字export和ex ...

  8. deprecate (声明不赞成)

    deprecate (声明不赞成)  只是不赞成,不影响使用,或者你升级包 解决:update to 高版本 npm update [-g] [<pkg>...]

  9. CentOS7 安装 Docker,10分钟入门!

    本次安装是在VM虚拟机的CentOS 7环境下,仅为了学习和测试的简单安装,如果在真实生产环境还需要考虑安全策略的其他问题. 1.Linux内核版本需要 3.10.0 以上并且是64位 [root@l ...

  10. CSS3--j惊艳到你的新前端

    一.css3的选择器 1. 父子选择器 直接关系 .box>.com 2. 兄弟选择器 相邻关系 .box+.com <span>hello</span> <p&g ...