1.POJ 1004 Financial Management
printf("$%.2f",avg);
主要注意最后这个输出格式,其他比较简单。
2.POJ 1552 Double
#include <stdio.h>
#include <iostream>
using namespace std;
int main()
{
int count,i,j,n,a[100];
scanf("%d",&a[0]);
while(a[0]!=-1)
{
for(n=1; ;n++)
{
scanf("%d",&a[n]);
if(a[n]==0) break;
}
count =0;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
{
if(a[j]==a[i]*2 || a[i]==a[j]*2)
count++;
}
printf("%d\n",count);
scanf("%d",&a[0]);
}
return 0;
}
这道题主要难点在于用例数和测试用例长度位置,采用双重循环结构。
for(n=1; ;n++)
3.UVA 11000 Bee
#include <stdio.h>
#include <stdio.h>
using namespace std;
int main()
{
int n;
scanf("%d",&n);
/*
递推,简单模拟
a:雌蜂数
b:雄峰数
c:雌蜂数为上一年的雄风数+1
d:蜜蜂数总和
*/
while(n>-1)
{
long long a =1;
long long b=0;
for(int i = 0;i<n;i++)
{
long long c,d;
c=1+b;
d=a+b;
a=c;
b=d;
}
printf("%lld %lld",b,a+b);
scanf("%d",&n);
}
return 0;
}
”构造法模拟“关键是找到数学模型。也可以利用递推公式:
S:为总蜜蜂数 M: 为雄峰数
S(n)-S(n-1)=M(n-1)+1