两道编程小题:
1、某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。
#include <iostream>
using namespace std;
int main ()
{
int n[ 4 ]= {3,5,7,9};
int p[4]={0,0,0,0 };
int jh =0 ;
for (int c=0;c<4;c++)
{
p[c]=(n[c]+5)%10;
}
jh=p[0];p[0]=p[3];p[3]=jh;
jh=p[1];p[1]=p[2];p[2]=jh;
cout<<endl<<"Encrypted Code: ";
for ( int j = 0; j < 4; j++ )
{
cout << p[ j ] ;
}
return 0;
}
2、海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子平均分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?
#include <iostream>
using namespace std;
int main()
{
int s, l, t,i;
l = 1;
for (i=1; i<5; i++)
l *= 5;
s = 1+5*(l-1);
t = s;
for (i=1; i<=4; i++)
t = (t-1)/5*4;
cout<<s<<endl;
return 0;
}