读书人

求100之内能被3整除的所有数的积 ngt;=1

发布时间: 2013-01-08 14:02:13 作者: rapoo

求100以内能被3整除的所有数的积 n>=1
#include <stdio.h>
int main()
{

int n,j;
for(n=1000,j=1;n<=9999;n++,j++)
{

if((n%10==6)&&(n%3==0))
{
printf("%d",n);
printf(" ");
while(j%9==0) printf("\n");
}
else continue;
}
[解决办法]

#include <stdio.h>

int main(void)
{
unsigned __int64 product = 1;
int i;

for (i = 1; i < 100; i++)
if (i % 3 == 0) product *= i;
printf("%I64u", product);

return 0;
}

不晓得溢出了没有,有的话就要搞个简单的大数乘法了,呵呵.
[解决办法]
#include <stdio.h>
#include <limits.h>

int main(void)
{
unsigned __int64 product = 1ui64;
int i;

for (i = 1; i < 100; i++)
{
if (i % 3 == 0)
{
if (_UI64_MAX / product < i)
{
printf("overflow!\n");
break;
}
product *= i;
}
}
printf("sizeof(unsigned __int64) = %d\n", sizeof(unsigned __int64));
printf("%I64u", product);

getch();
return 0;
}

已经溢出了,这个要不得.

读书人网 >C++

热点推荐