洛谷P1553 數字反轉

2021-10-20 18:20:06 字數 2504 閱讀 1814

題目背景

以下為原題面,僅供參考

給定乙個數,請將該數各個位上數字反轉得到乙個新數。

這次與noip2011普及組第一題不同的是:這個數可以是小數,分數,百分數,整數。整數反轉是將所有數字對調;小數反轉是把整數部分的數反轉,再將小數部分的數反轉,不交換整數部分與小數部分;分數反轉是把分母的數反轉,再把分子的數反轉,不交換分子與分母;百分數的分子一定是整數,百分數只改變量字部分。整數新數也應滿足整數的常見形式,即除非給定的原數為零,否則反轉後得到的新數的最高位數字不應為零;小數新數的末尾不為0(除非小數部分除了0沒有別的數,那麼只保留1個0);分數不約分,分子和分母都不是小數(約分滴童鞋抱歉了,不能過哦。輸入資料保證分母不為0),本次沒有負數。

題目描述

給定乙個數,請將該數各個位上數字反轉得到乙個新數。

這次與noip2011普及組第一題不同的是:這個數可以是小數,分數,百分數,整數。

整數反轉是將所有數字對調。

小數反轉是把整數部分的數反轉,再將小數部分的數反轉,不交換整數部分與小數部分。

分數反轉是把分母的數反轉,再把分子的數反轉,不交換分子與分母。

百分數的分子一定是整數,百分數只改變量字部分。

輸入格式

乙個數 s

輸出格式

乙個數,即 s 的反轉數

輸入輸出樣例

輸入#1

5087462
輸出#斜體樣式1

2647805
輸入#2

600.084
輸出#2

6.48
輸入#3

700

/27

輸出#3

7

/72

輸入#4

8670

%

輸出#4

768

%

這題比較簡單,暴力做即可。

下面直接上**。

#include

#include

using

namespace std;

intmain()

if(s[i-1]

=='/')}

if(s[l-1]

=='%')if

(a==

0&&b==

0&&c==0)

for(;;

)else

break;}

for(

int i=

1;i<=y;i++)}

if(c==1)

for(;;

)else

break;}

for(

int i=

1;i<=x;i++

) cout<<

"%";}if

(a!=0)

for(

int i=

1;i<=l-a;i++

)int g=a-1;

int h=l-a;

int k;

if(g==

1&&r[0]

=='0'

)for(;

;)else

break;}

for(

int i=

1;i<=g;i++

) cout<<

".";

if(h==

1&&t[0]

=='0'

)for

(int i=

1;i<=h;i++)}

for(;;

)else

break;}

h=h-k;

for(

int i=

1;i<=h;i++)}

if(b!=0)

for(

int i=

1;i<=l-b;i++

)int g=b-1;

int h=l-b;

int k;

if(g==

1&&r[0]

=='0'

)for(;

;)else

break;}

for(

int i=

1;i<=g;i++

) cout<<

"/";

for(;;

)else

break;}

for(

int i=

1;i<=h;i++)}

return0;

}

**好像要o2優化,萌新表示什麼都不知道qaq **

P1553 數字反轉

public class p1553數字反轉 if str.contains if str.contains else 處理左邊 去除了整數開頭的0 public static string front string s biginteger a newbiginteger str 將倒序的字串轉無...

洛谷P1553 數字反轉(公升級版)

題目描述 給定乙個數,請將該數各個位上數字反轉得到乙個新數。這次與noip2011普及組第一題不同的是 這個數可以是小數,分數,百分數,整數。整數反轉是將所有數字對調 小數反轉是把整數部分的數反轉,再將小數部分的數反轉,不交換整數部分與小數部分 分數反轉是把分母的數反轉,再把分子的數反轉,不交換分子...

洛谷 P1553 數字反轉(公升級版)

題目描述 給定乙個數,請將該數各個位上數字反轉得到乙個新數。這次與noip2011普及組第一題不同的是 這個數可以是小數,分數,百分數,整數。整數反轉是將所有數字對調 小數反轉是把整數部分的數反轉,再將小數部分的數反轉,不交換整數部分與小數部分 分數反轉是把分母的數反轉,再把分子的數反轉,不交換分子...