• 模板


    1.分数的表示与分数的运算

     1 #include <iostream>
     2 #include <cstring>
     3 #include <algorithm>
     4 #include <vector>
     5 
     6 using namespace std ;
     7 
     8 struct Fraction{//分数的定义 
     9     int up, down ;
    10 };
    11 
    12 int gcd(int a,int b){
    13     return b ? gcd(b,a%b) : a ;
    14 }
    15 
    16 Fraction reduction(Fraction ft){//化为最简分数 
    17     if(ft.down<0){
    18         ft.up = -ft.up ;
    19         ft.down = -ft.down ;
    20     }
    21     if(ft.up == 0){
    22         ft.down = 1 ;
    23     }else{
    24         int d = gcd(ft.up,ft.down) ;
    25         ft.up /= d ;
    26         ft.down /= d ;
    27     }
    28     return ft ;
    29 }
    30 
    31 Fraction add(Fraction ft1,Fraction ft2){//
    32     Fraction res ;
    33     res.up = ft1.up*ft2.down + ft1.down*ft2.up ;
    34     res.down = ft1.down*ft2.down ;
    35     return res ;
    36 }
    37 
    38 Fraction sub(Fraction ft1,Fraction ft2){//
    39     Fraction res ;
    40     res.up = ft1.up*ft2.down - ft1.down*ft2.up ;
    41     res.down = ft1.down*ft2.down ;
    42     return res ;
    43 }
    44 
    45 Fraction mul(Fraction ft1,Fraction ft2){//
    46     Fraction res ;
    47     res.up = ft1.up*ft2.up ;
    48     res.down = ft1.down*ft2.down ;
    49     return res ;
    50 }
    51 
    52 Fraction div(Fraction ft1,Fraction ft2){//除(需要特判除数是否为0) 
    53     Fraction res ;
    54     res.up = ft1.up*ft2.down ;
    55     res.down = ft1.down*ft2.up ;
    56     return res ; 
    57 }
    58 
    59 void ShowResult(Fraction ft){//输出分数 
    60     ft = reduction(ft) ;
    61     if(ft.down == 1){
    62         printf("%lld",ft.up) ;
    63     }else if(abs(ft.up>ft.down)){
    64         printf("%d %d/%d",ft.up/ft.down,abs(ft.up)%ft.down,ft.down) ;
    65     }else{
    66         printf("%d/%d",ft.up,ft.down) ;
    67     }
    68 }
    69 
    70 int main(){
    71     
    72     
    73     return 0 ;    
    74 } 
  • 相关阅读:
    Java Swing打猎射击游戏源码
    php实现在线下载程序安装包功能
    WP
    双人对战的球类游戏IOS源码
    非常不错的新闻客户端应用安卓源码
    创业建议:如何写挖人邮件
    wp8路线跟踪应用源码详细说明
    wp版笔记本应用源码
    旅游风景展示应用源码iPad版
    bitset优化背包
  • 原文地址:https://www.cnblogs.com/gulangyuzzz/p/12033557.html
Copyright © 2020-2023  润新知