A:完全平方数
这个没什么好说的 主要讲一下输入 while(scanf("%d",&n)&&n!=-1)
B:小学生的作业
我自己是这样做的 有点麻烦
先用数组来存放A的每一位上的数字
在来一个循环判断即可
<!--StartFragment-->for(k=0;k<=i;k++)
s=s+c[k]*func(k);
for(k=i+1,f=0;k<j;k++,f++)
m=m+c[k]*func(f);
if(m+s==b)
{
printf("%I64d+%I64d=%I64d\n",m,s,b);
d=1;
break;
}
还有一点 还是不要用了POW函数了 害我错了好几次
C:统计页码
这个我想了蛮久的 用二维数组做的 先用二维数组存放0,1000,2000,3000,4000,5000,6000,7000,8000,9000,10000时的0,1,2,3,4,5,6,7,8,9 的个数
再来一个判断就行了
x=n/1000;
for(i=x*1000+1;i<=n;i++)
{k=i;
while(k>0)
{
f=k%10;
k=k/10;
s[x][f]++;
}
}
D:羊村运动会――撑杆跳高
这个的话 题目给的信息有误 我数组开100的 溢出了 开一万就不会了
这道题目主要用一下快速排序 逐个相加判断一下就行了