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

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

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

2019-11-10 21:44:34
字體:
供稿:網(wǎng)友

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

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

//第一個(gè)是本弱雞的代碼,寫了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; }}
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 东城区| 建湖县| 木兰县| 阆中市| 横山县| 威海市| 内黄县| 张家口市| 新绛县| 行唐县| 安乡县| 蒲江县| 彰化县| 枞阳县| 和平县| 怀集县| 盐边县| 林口县| 招远市| 乌兰浩特市| 电白县| 武冈市| 兴化市| 玉环县| 财经| 诸城市| 衡阳市| 乡宁县| 儋州市| 包头市| 宜丰县| 榆林市| 镶黄旗| 金塔县| 甘德县| 宜宾市| 景德镇市| 孝义市| 涟水县| 民乐县| 牙克石市|