#include <conio.h>
#include <stdio.h>
int fun(int k)
{
int m=0, mc=0, j;
while((k>=2)&&(mc<10)) //为什么k>=2?
{
if((k%13==0)||(k%17=0))
{
m=m+k;
mc++;
}
k--;
}
return m;
}
main()
{
clrscr();
printf("%d\n", fun(500));
}
----------------解决方案--------------------------------------------------------
计算并输出k内最大的10个能被13或17整除的自然数之积。
#include <conio.h>
#include <stdio.h>
int fun(int k)
{
int m=0, mc=0, j;
while((k>=13)&&mc<10)) /*13以内有可以整除它们的吗?*/
{
if((k%13==0)||(k%17==0))
{
m=m+k; /*你这是积?分明求的和*/
mc++;
}
k--;
}
return m;
}
main()
{
clrscr();
printf("%d\n", fun(500));
}
----------------解决方案--------------------------------------------------------
计算并输出k内最大的10个能被13或17整除的自然数之和。
自然数之和,我把题目打错了。。。。
----------------解决方案--------------------------------------------------------
飞扬白鸽
你好!
你的程序我看到了。我把原来的程序做了一些与其他同仁不同的改变,程序如下:
#include <conio.h>
#include <stdio.h>
int fun(long k)
{
int m=0, mc=0, j;
while((k>=13)&&(mc<10))
{
if((k%13==0)||(k%17==0))
{
m=m+k;
mc++;
}
k--;
}
return m;
}
main()
{
long n; /*定义为long型,才使n的值更灵活一些。*/
clrscr();
do
{
printf("Please input the data:\nn=");
scanf("%ld",&n); /*加上这两句才能使n值由你随心所欲。*/
}
while(n<85); /*因为满足条件的n 值最小是85。*/
printf("%d\n", fun(n));
}
同时也希望各位同仁给予指点。谢谢!
hyqzchh@163.com
----------------解决方案--------------------------------------------------------