【PAT】1023. Have Fun with Numbers
来源:互联网 发布:网络骗多少钱可立案 编辑:程序博客网 时间:2024/06/06 02:17
#define LOCAL#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>#include <string>using namespace std;typedef long long ll;struct bign{ int d[1010]; int len; bign(){ memset(d,0,sizeof(d)); len=0; }};bign change(char str[]){ bign a; a.len=strlen(str); for(int i=0;i<a.len;i++){ a.d[i]=str[a.len-i-1]-'0'; } return a;}bign add(bign a,bign b){ bign c; int carry=0; for(int i=0;i<a.len||i<b.len;i++){ int t=a.d[i]+b.d[i]+carry; c.d[c.len++]=t%10; carry=t/10; } if(carry!=0) c.d[c.len++]=carry; return c;}bign sub(bign a,bign b){ bign c; for(int i=0;i<a.len||i<b.len;i++){ if(a.d[i]<b.d[i]){ a.d[i+1]--; a.d[i]+=10; } c.d[c.len++]=a.d[i]-b.d[i]; while(c.len-1>=1&&c.d[c.len-1]==0){ c.len--; } } return c;}bign mul(bign a,int b){ bign c; int carry=0; for(int i=0;i<a.len;i++){ int t=a.d[i]*b+carry; c.d[c.len++]=t%10; carry=t/10; } while(carry!=0){ c.d[c.len++]=carry%10; carry/=10; } return c;}bign div(bign a,int b,int& r){ bign c; c.len=a.len; for(int i=a.len-1;i>=0;i--){ r=r*10+a.d[i]; if(r<b) c.d[i]=0; else{ c.d[i]=r/b; r=r%b; } } while(c.len-1>=1&&c.d[c.len-1]==0){ c.len--; } return c;}void print(bign a){ for(int i=a.len-1;i>=0;i--){ printf("%d",a.d[i]); }}int main(){ #ifdef LOCAL freopen("data.in","r",stdin); freopen("data.out","w",stdout); #endif // LOCAL char str[22]; gets(str); bign a=change(str); bign b=mul(a,2); char ans[22]; for(int i=0;i<b.len;i++){ ans[b.len-i-1]=b.d[i]+'0'; } ans[b.len]='\0'; sort(str,str+a.len); sort(ans,ans+b.len); if(strcmp(str,ans)==0) cout<<"Yes"<<endl; else cout<<"No"<<endl; print(b); return 0;}
0 0
- 【PAT】1023. Have Fun with Numbers (20)
- PAT: 1023. Have Fun with Numbers (20)
- PAT 1023. Have Fun with Numbers (20)
- PAT 1023. Have Fun with Numbers (20)
- PAT 1023. Have Fun with Numbers (20)
- pat 1023. Have Fun with Numbers
- PAT 1023. Have Fun with Numbers (20)
- pat 1023. Have Fun with Numbers (20)
- PAT 1023. Have Fun with Numbers (20)
- PAT 1023. Have Fun with Numbers (20)
- PAT-A 1023. Have Fun with Numbers
- PAT 1023. Have Fun with Numbers
- 【PAT】1023. Have Fun with Numbers
- PAT 1023. Have Fun with Numbers
- pat 1023. Have Fun with Numbers (20)
- PAT 1023. Have Fun with Numbers (20)
- PAT 甲级 1023. Have Fun with Numbers
- pat Have Fun with Numbers
- 关于Genymotion 启动后 Android studio 找不到设备的问题(补图)
- Kali Linux常见十大问题
- dubbo 报错:java.lang.NoClassDefFoundError: org/I0Itec/zkclient/exception/ZkNoNodeException
- 有趣的机器学习(二)
- C#基础笔记
- 【PAT】1023. Have Fun with Numbers
- html5新标签-figure、figcaption
- jQuery formValidator手册
- GStreamer播放教程07——自定义playbin的sink
- MST唯一性判断
- ThinkTemplate模板引擎的设计和使用方法
- 百度百科算法集合
- markdown语法及pandoc扩展
- CAKeyframeAnimation