猴子吃桃问题
猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个。
第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
以后每天早上都吃了前一天剩下的一半零一个。
到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

void f2()
{
/*
猴子吃桃问题
猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个。
第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
以后每天早上都吃了前一天剩下的一半零一个。
到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
*/
int day,x1,x2;
day=9;
x2=1;
while (day>0)
{
x1=(x2+1)*2;
x2=x1;
day--;
}
cout<<"total="<<x1<<endl;
return;

猴子吃桃递归问题

int f2new(int n) 
{
//猴子吃桃问题递归
int num;
if (n==10)
{
return 1;
}
else
{
num=(f2new(n+1)+1)*2;
}
return num;
}
void f2taozi()
{
cout<<f2new(1)<<endl;
}

 

求1000以内的完数;例如:6=1+2+3 

void f1()
{
/*
求1000以内的完数;例如:6=1+2+3
*/
int k[11];
int i,a,n,s;
for (a=2;a<=6;a++) //a<=1000
{
n=0;
s=a;
for (i=1;i<a;i++)
{
//
if ((a%i)==0)
{
n++;
s=s-i;
k[n]=i; //将找到的因子赋给k[1],...,k[10]
}
//输出 i,a,n,s ,k[n]的值
cout<<"i="<<i<<" a= "<<a<<" n="<<n<<" s="<<s<<" k["<<n<<"]="<<k[n]<<endl;
}
if (s==0)
{
cout<<a<<" is a 完数"<<endl;
cout<<"its factorys are: ";
for (i=1;i<n;i++)
{
cout<<k[i]<<" ";
}
cout<<k[n]<<endl;
}
}
return ;
}