这个程序不需要弄那么多的循环的
首先这个五位数减去6,然后再判断是否能被3整除就行了。
这个思路好像简单一些。

~~我的明天我知道~~
2007-03-28 15:19
好方法,改了一下可以.
#include<stdio.h>
int main(void)
{
int i,x,y;
i=1;
x=10026/3;
while(y<99999)
{
y=++x*3;
if(y%10==6) i++;
}
printf("%d",i);
}
变量X的引入作用也不是很大,这样改下
#include<stdio.h>
int main(void)
{
int i,y;
i=1;
y=10026;
while(y<99999)
{
y=+3;
if(y%10==6) i++;
}
printf("%d",i);
}
2007-03-28 15:25
这个程序不需要弄那么多的循环的
首先这个五位数减去6,然后再判断是否能被3整除就行了。
这个思路好像简单一些。
说得也是.
#include<stdio.h>
int main(void)
{
int a,temp;
temp=0;
for(a=1000;a<=9999;a++)
{
if(a%3==0)
temp++;
}
printf("%d\n",temp);
}
2007-03-28 15:42
2007-03-28 15:49
2007-03-28 15:52
个位数为6,且能被3整除的5位数有多少个...........
main()
int i,x,y;
x=10026/3;
whlie(y<99999)
{
y=++x*3;
if(y%10==6)
i++;
}
printf("%d",i);
这个方法不知道行不 我没调试过...
循环的次数太多了.
1_ _ _6
从十位到万位进行循环为 9000次循环.
而10006-99999 循环次数为 89994次.

2007-03-28 16:01
2007-03-28 16:06
那就相当于求 能被3整除的四位数有多少个
对吧?
#include <stdio.h>
void main()
{
int counter,x;
for(x=1000;x<10000;x++){
if(x%3==0)
counter++;
}printf("%d",counter);
}
2007-03-28 16:09
2007-03-28 16:22
#include <stdio.h>
void main ()
{
int i=10026,j=0;
while(i<100000)
{j+=1;
i+=30;
}
printf("%d",j);
}
是这样吗?运行次数少了很多,刚才将所有数都打印出来观察,发现真是有这个规律,受益菲浅啊!
2007-03-28 16:25