首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2013-01-08 
求100以内能被3整除的所有数的积 n1#include stdio.hint main(){int n,jfor(n1000,j1n9999n++,

求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;
}

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

热点排行