小數化分數

【問題描述】

?????? 任何小數都能表示成分數的形式,對于給定的小數,編寫程序其化為最簡分數輸出,小數包括簡單小數和循環小數。

【輸入形式】

?????? 第一行是一個整數N,表示有多少組數據。
?????? 每組數據只有一個純小數,也就是整數部分為0。小數的位數不超過9位,循環部分用()括起來。

【輸出形式】

??????? 對每一個對應的小數化成最簡分數后輸出,占一行

【樣例輸入】

3
0.(4)
0.5
0.32(692307)

【樣例輸出】

4/9
1/2
17/52

【提示】
? 0.32(692307)=0.32 +0.(692307)/ 100? ? ? ? ?(*)

令 x=0.(692307),? 那么 1000000x=692307+x

則 x=692307/999999,代入運算式(*)經過通分約分處理后即可得到結果。

解題:

分三種情況討論;分數化簡可用公約數進行。

#include <bits/stdc++.h>
using namespace std;
int gcd(int a,int b) {if (a%b==0) return b;else return  gcd(b,a%b);
}
int main() {int m;cin>>m;while (m--) {string s;cin>>s;s.erase(0,2);if (s[0]=='(') {int x=0,y=0;for (int i=1;i<s.length()-1;i++) {x+=(s[i]-'0')*pow(10,s.length()-i-2);y+=9*pow(10,s.length()-i-2);}cout<<to_string(x/gcd(x,y))+'/'+to_string(y/gcd(x,y))<<endl;continue;}if (s.find('(')==string::npos) {int x=0,y=pow(10,s.length());for (int i=0;i<s.length();i++) {x+=(s[i]-'0')*pow(10,s.length()-i-1);}cout<<to_string(x/gcd(x,y))+'/'+to_string(y/gcd(x,y))<<endl;continue;}int x1=0,y1=0,x2=0,y2=0;int k=s.find('(');y1=pow(10,k);for (int i=0;i<k;i++){x1+=(s[i]-'0')*pow(10,k-i-1);}for (int i=k+1;i<s.length()-1;i++) {x2+=(s[i]-'0')*pow(10,s.length()-i-2);y2+=9*pow(10,s.length()-i-2);}x1=(x1*y2)+x2;y1=y1*y2;cout<<to_string(x1/gcd(x1,y1))+'/'+to_string(y1/gcd(x1,y1))<<endl;}return 0;
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/167492.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/167492.shtml
英文地址,請注明出處:http://en.pswp.cn/news/167492.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Camera Raw v16.0.0(PS Raw增效工具)

Camera Raw 16是一款允許攝影師處理原始圖像文件的軟件PS增效工具。原始圖像文件是未經相機內部軟件處理的數碼照片&#xff0c;因此包含相機傳感器捕獲的所有信息。Camera Raw 為攝影師提供了一種在將原始文件轉換為更廣泛兼容的格式&#xff08;如 JPEG 或 TIFF&#xff09;之…

搭建SRS視頻服務器

去官方網站下載FFmpeg6.1 https://ffmpeg.org/download.html拷貝到CentOS7.9中的/opt目錄下&#xff0c;解壓并重命名 tar -xvf ffmpeg-6.1.tar.xz 解壓后編譯安裝 ./configure make make install從github下載SRS4.0release 解壓后 如果ffmpeg的路徑不在/usr/local/bin/ffmpe…

【MATLAB】全網入門快、免費獲取、持續更新的科研繪圖教程系列2

14 【MATLAB】科研繪圖第十四期表示散點分布的雙柱狀雙Y軸統計圖 %% 表示散點分布的雙柱狀雙Y軸統計圖%% Made by Lwcah &#xff08;公眾號&#xff1a;Lwcah&#xff09; %% 公眾號&#xff1a;Lwcah %% 知乎、B站、小紅書、抖音同名賬號:Lwcah&#xff0c;感謝關注~ %% 更多…

LeetCode二叉樹小題目

Q1將有序數組轉換為二叉搜索樹 題目大致意思就是從一個數組建立平衡的二叉搜索樹。由于數組以及進行了升序處理&#xff0c;我們只要考慮好怎么做到平衡的。平衡意味著左右子樹的高度差不能大于1。由此我們可以想著是否能用類似二分遞歸來解決。 如果left>right,直接返回nul…

IO多路轉接之epoll

目錄 一. epoll的實現原理 二. epoll的相關接口 2.1 epoll_create -- 創建epoll模型 2.2 epoll_ctl -- 對epoll模型進行控制 2.3 epoll_wait -- 等待epoll所關注的事件就緒 2.4 epoll相關接口的使用方法 三. Epoll服務器的模擬實現 3.1 EpollServer類的聲明 3.2 Epoll…

網工內推 | 美的、得力集團,包吃包住,IE認證優先,14薪

01 美的 招聘崗位&#xff1a;網絡工程師 職責描述&#xff1a; 1.負責IT網絡設備、IDC機房的日常維護巡檢、監控和管理&#xff1b; 2.負責路由、交換、防火墻、無線控制器、AP等網絡設備的開通、調整、優化升級&#xff1b; 3.負責公司OT、IT網絡規劃&#xff0c;項目實施以…

路由VRRP配置例子

拓樸如下&#xff1a; 主要配置如下&#xff1a; [R1] interface GigabitEthernet0/0/0ip address 10.1.1.1 255.255.255.0 vrrp vrid 1 virtual-ip 10.1.1.254vrrp vrid 1 priority 200vrrp vrid 1 preempt-mode timer delay 20 # interface GigabitEthernet0/0/1ip address …

【10套模擬】【10】

關鍵字&#xff1a; 線性探測次數、冒泡交換性質、排序次數最值、bst查找關鍵字最多比較次數、m叉樹空指針域 鏈表合并、二叉排序樹查找x、堆排序

flink的集成測試

背景 日常測試中我們使用flink的TestHarness只能測試單個算子&#xff0c;很多情況下我們需要集成測試來測試真正的問題&#xff0c;所以在flink中進行集成測試還是非常有必要的&#xff0c;本文就來記錄下如何在flink中進行集成測試 flink中進行集成測試 flink中進行集成測…

css給盒子寫四個角

如圖&#xff1a;之前一直用定位 現在發現可以用css寫 background: linear-gradient(to top, #306eef, #306eef) left top no-repeat, /*上左*/ linear-gradient(to right, #306eef, #386eef) left top no-repeat, /*左上*/ linear-gradient(to left, #386eef, #306eef) righ…

查找學習筆記

1、靜態查找表 以下查找的索引均從1開始 &#xff08;1&#xff09;順序查找&#xff08;帶哨兵&#xff09; #include<iostream> #include<vector>using namespace std;int search(vector<int> arr, int key) {arr[0] key;int i;for (i arr.size() - 1…

代碼隨想錄 860. 檸檬水找零

題目 在檸檬水攤上&#xff0c;每一杯檸檬水的售價為 5 美元。顧客排隊購買你的產品&#xff0c;&#xff08;按賬單 bills 支付的順序&#xff09;一次購買一杯。 每位顧客只買一杯檸檬水&#xff0c;然后向你付 5 美元、10 美元或 20 美元。你必須給每個顧客正確找零&#xf…

python opencv -模板匹配

python opencv -模板匹配 模板匹配就是&#xff0c;我們現有一個模板和一個圖片&#xff0c;然后&#xff0c;在這個圖片中尋找和模板近似的部分。 在opencv 中主要通過cv2.matchTemplate這個函數去實現。 下面我們先看一下&#xff0c;模板圖片和需要匹配的圖片&#xff1a…

(Matalb時序預測)GA-BP遺傳算法優化BP神經網絡的多維時序回歸預測

目錄 一、程序及算法內容介紹&#xff1a; 基本內容&#xff1a; 亮點與優勢&#xff1a; 二、實際運行效果&#xff1a; 三、部分代碼 四、本文代碼數據說明手冊分享&#xff1a; 一、程序及算法內容介紹&#xff1a; 基本內容&#xff1a; 本代碼基于Matalb平臺編譯&am…

Spring IOC 和 AOP

Spring IOC 什么是 IoC ? IoC &#xff08;Inversion of Control 控制反轉&#xff09;是一種設計思想&#xff0c;而不是一個具體的技術實現。IoC 的思想就是將原本在程序中手動創建對象的控制權&#xff0c;交由給 Spring 框架來管理。 為什么叫控制反轉&#xff1f; 控制…

unsigned詳講(干貨滿滿)

前言&#xff1a;過年偷懶了(●ˇ?ˇ●)&#xff0c;但是年后開學了一定要恢復學習狀態&#xff0c;在復習加繼續學習的途中&#xff0c;我發現對于unsigned關鍵字的掌握并不是很熟練&#xff0c;于是翻閱了各個大佬的博客以及書籍&#xff0c;總結了對于unsigned的一些知識點…

數據結構與算法編程題18

循環隊列相關代碼。 #include <iostream> using namespace std;#define Maxsize 100 #define ERROR 0 #define OK 1 typedef int Elemtype; typedef struct Queue {Elemtype data[Maxsize];int front;int rear; }Queue;void Init_Queue(Queue &Q) {Q.front Q.rear …

P9 C++類

目錄 01 類是什么 02 如何創建類 03 方法 后話 本期我們要講的是 C 中的類。 我們終于講到了面向對象編程&#xff0c;這是一種非常流行的編程方式&#xff0c;面向對象編程實際上只是一種你可以采用的編寫代碼的方式&#xff0c;其他語言例如 C#、Java 這些主要是面向對象…

白嫖CTG4.0

大家好&#xff0c;到點了我來給各位大佬獻策CTG&#xff0c;不是花錢買不起&#xff0c;而是免費更有性價比&#xff0c;哈哈哈不調侃了我們自此開始正文&#xff0c;咱們主打的就是一個分享是一種態度 當然我更希望大家支持國產對國產有自己的信心&#xff08;文心一言&…

Git常用命令詳細總結,更適合中國寶寶體質

文章目錄 代碼倉庫創建倉庫1.進入需要創建代碼庫的文件夾2.創建/切始化倉庫3.關聯遠程倉庫拉取遠程倉庫到本地 添加文件到倉庫1.查看工作區狀態2.添加文件到暫存區3.提交到本地倉庫4.對比工作區文件變化 倉庫配置1.配置全局用戶名和郵箱2.配當前倉庫用戶名和郵箱3.查看Git全局配…