您的位置:首页 > 其它

Have Fun with Numbers及循环链表(约瑟夫问题)

2016-12-03 16:33 381 查看

1. 循环链表(约瑟夫问题)

https://github.com/BodhiXing/Data_Structure

2. Have Fun with Numbers

https://pta.patest.cn/pta/test/17/exam/4/question/263

#include <iostream>
#include <cstring>
using namespace std;

int main() {
int a[10],b[10],buffer[21];
char input[21];
int i,j,len;
int t,carry=0;

memset(a,0,sizeof(a));
memset(b,0,sizeof(b));

cin>>input;
len = strlen(input);
//buffer中的数逆序
for(j=0,i=len-1; i>=0; i--,j++) {
buffer[j] = input[i]-'0';
a[buffer[j]]++;        //记录每个数出现的个数
}

//数乘以2
carry=0;
for(i=0; i<len; i++) {
t =  buffer[i]*2;
buffer[i] = (t+carry)%10;
b[buffer[i]]++;
carry =  (t+carry)/10;
}

for(j=0;j<10;j++){
if(a[j] != b[j])
break;
}

if(carry>0)
{
buffer[i]=carry;
}
else
i--;
if(j<10) {
cout<<"No"<<endl;
for(; i>=0; i--)
cout<<buffer[i];
} else {
cout<<"Yes"<<endl;
for(; i>=0; i--)
cout<<buffer[i];
}

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: