#include<iostream>
#include<cstdio>
using namespace std;
int a[1010];
int main()
{
int n,ans;
while(scanf("%d",&n)!=EOF)
{
ans=1;
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
for(int i=1;i<=n;i++)
{
if(a[i]%2==1)
ans=ans*a[i];
}
printf("%d\n",ans);
}
return 0;
}
题目并没有保证 m 小于等于 n ,所以需要判断 m 是否大于 n ,如果 m 大于 n ,就交换 m 和 n 。
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
int m,n,x,y;
while(scanf("%d%d",&m,&n)!=EOF)
{
x=0;
y=0;
if(m>n)
swap(m,n);
for(int i=m; i<=n; i++)
{
if(i%2==0)
x=x+i*i;
else
y=y+i*i*i;
}
printf("%d %d\n",x,y);
}
return 0;
}
因为要用到 sqrt 函数,所以头文件要加上cmath。并且这题要用 double 。
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int main()
{
double ans=0;
int n,m;
while(scanf("%d%d",&n,&m)!=EOF)
{
ans=0;
double p=n;
for(int i=1; i<=m; i++)
{
ans=ans+p;
p=sqrt(p);
}
printf("%.2f\n",ans);
}
return 0;
}
本文解析了HDU OJ上的三道编程题:2006、2007和2009,涉及数组操作、数学计算和循环处理。通过C++代码示例展示了如何解决这些问题,包括奇数乘积、区间平方和立方计算以及包含平方根运算的序列求和。
964

被折叠的 条评论
为什么被折叠?



