国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Codeforces Round #362 (Div. 2)B. Barnicle(較坑模擬【菜雞與大佬的區別】)

2019-11-10 19:15:28
字體:
來源:轉載
供稿:網友

題目鏈接:http://codeforces.com/contest/697/PRoblem/B

【中文題意】給你一個浮點數的計數法表示形式,然后表示出他的正常形式,表示出的數不能有前導0也不能有后導0。 【思路分析】直接模擬就好了,注意幾個坑:1. 0.0e0的時候 2. 1.0e0的時候。

//第一個是本弱雞的代碼,寫了100多行 【AC代碼】

#include<cstdio>#include<iostream>#include<cstring>#include<cmath>#include<queue>#include<stack>#include<map>#include<algorithm>using namespace std;#define LL long longint main(){ string str; while(cin>>str) { int len=str.length(); int dightPosition,ePosition; for(int i=0;i<len;i++) { if(str[i]=='.') { dightPosition=i; } if(str[i]=='e') { ePosition=i; } } int num1=0,num2=0; for(int i=0;i<dightPosition;i++) { num1=num1*10+str[i]-'0'; } for(int i=dightPosition+1;i<ePosition;i++) { num2=num2*10+str[i]-'0'; } if(num1==0&&num2==0) { cout<<"0"<<endl; continue; } int square=0; for(int i=ePosition+1;i<len;i++) { square=square*10+str[i]-'0'; } //cout<<dightPosition<<ePosition<<square<<endl; if(square==0) { if(num2==0) { for(int i=0;i<dightPosition;i++) { cout<<str[i]; } } else { for(int i=0;i<ePosition;i++) { cout<<str[i]; } } cout<<endl; continue; } string str2; for(int i=0;i<dightPosition;i++) { str2+=str[i]; } if(dightPosition+square==ePosition-1) { //cout<<"1."<<endl; for(int i=dightPosition+1;i<ePosition;i++) { str2+=str[i]; } //cout<<str2<<endl; } if(dightPosition+square<ePosition-1) { //cout<<"2."<<endl; for(int i=dightPosition+1;i<dightPosition+square+1;i++) { str2+=str[i]; } str2+='.'; for(int i=dightPosition+square+1;i<ePosition;i++) { str2+=str[i]; } } if(dightPosition+square>ePosition-1) { //cout<<"3."<<endl; for(int i=dightPosition+1;i<ePosition;i++) { str2+=str[i]; } for(int i=0;i<square-ePosition+dightPosition+1;i++) { str2+='0'; } } //str2+='/0'; int len2=str2.length(),flag=0; //cout<<str2<<endl; for(int i=0;i<len2;i++) { if(str2[i]=='0'&&str2[i+1]=='.') { flag=1; } if(str2[i]=='0'&&flag==1) { cout<<str2[i]; } if(str2[i]!='0') { cout<<str2[i];flag=1; } } cout<<endl; } return 0;}

//大佬的java代碼

import java.util.*;import java.math.*;public class B { public static void main(String[] args) { Scanner in = new Scanner(System.in); String s = in.nextBigDecimal().stripTrailingZeros().toPlainString(); if (s.endsWith(".0")) { s = s.substring(0, s.length() - 2); } System.out.println(s); }}

//大佬的C++代碼

#include<bits/stdc++.h>using namespace std;int ma(int a, int b){ return (a>b?a:b);}int main(){ string s; cin >> s; string round; int aftere = 0; int eloc = s.length(); int i,j,k,l; for(i = 0; i < s.length();i++) { if(s[i] == 'e') eloc = i; if(i > eloc) { aftere*=10; aftere += (s[i]-'0'); } } round.resize(eloc-1); j = 0; int dotloc; for(i = 0; i < eloc;i++) { if(s[i]!='.') { round[j] = s[i]; j++; } else dotloc = j; } dotloc += aftere; bool all0 = true; for(i = dotloc; i < round.length();i++) { if(round[i] != '0') all0 = false; } for(i = 0; i < ma(round.length(),dotloc);i++) { if(all0 && i == dotloc) return 0; if(i == dotloc) cout << '.'; if(i < round.length()) cout << round[i]; else cout << 0; }}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 临洮县| 陈巴尔虎旗| 黔西县| 葫芦岛市| 文山县| 滦平县| 雅江县| 大石桥市| 丹巴县| 江都市| 湄潭县| 南皮县| 淮南市| 浦江县| 开封县| 绵阳市| 修文县| 紫金县| 南康市| 南投市| 珠海市| 襄垣县| 赤水市| 绥棱县| 韩城市| 柳林县| 内江市| 青海省| 梅河口市| 汉川市| 临沧市| 新野县| 大埔县| 武穴市| 革吉县| 无为县| 云南省| 荥经县| 张家口市| 金秀| 凌海市|