一个正整数,如果它能被7整除,或者它的十进制表示法中某个位数上的数字为7,则称其为与7相关的数.现求所有小于等于n(n<100)的与7无关的正整数的平方和.解决思路
一个正整数,如果它能被7整除,或者它的十进制表示法中某个位数上的数字为7,则称其为与7相关的数.现求所有小于等于n(n<100)的与7无关的正整数的平方和.
#include "stdio.h"
#define MAX 100
int a[MAX+10];
int main()
{
int n,i;
int sum=0;
scanf("%d",&n);
for(i=0;i<n;i++)
a[i]=i+1;
i=0;
while(i<n)
{
if(a[i]%7!=0&&a[i]%10!=7&&a[i]/10!=0)
sum=sum+a[i]*a[i];
i++;
}
printf("%d\n",sum);
return 0;
}
我的结果是正确的,怎么会是WA呢?
------解决方案--------------------
输入要考虑循环,再试试
#include "stdio.h"
#define MAX 100
int a[MAX+10];
int main()
{
int n,i;
int sum=0;
scanf("%d",&n);
for(i=0;i<n;i++)
a[i]=i+1;
i=0;
while(i<n)
{
if(a[i]%7!=0&&a[i]%10!=7&&a[i]/10!=0)
sum=sum+a[i]*a[i];
i++;
}
printf("%d\n",sum);
return 0;
}
我的结果是正确的,怎么会是WA呢?
------解决方案--------------------
输入要考虑循环,再试试
- C/C++ code
#include <stdio.h> #define MAX 100 int a[MAX+10]; int main() { int n,i; int sum=0; while(scanf("%d",&n) == 1){ for(i=0;i<n;i++) a[i]=i+1; i=0; while(i<n) { if(a[i]%7!=0&&a[i]%10!=7&&a[i]/10!=0) sum=sum+a[i]*a[i]; i++; } printf("%d\n",sum); } return 0; }
------解决方案--------------------
楼主程序有问题吧。
- C/C++ code
if(a[i]%7!=0&&a[i]%10!=7&&a[i]/10!=0)