分几位的
把基数放在最后就排列吧
注意0
----------------解决方案--------------------------------------------------------
把所以的可能性都举出来好了
----------------解决方案--------------------------------------------------------
#include <stdio.h>
void main()
{
int i1=1,i2=1,i3=2,i4=3,i5=4,i6=5,i7=6,i8=7;
for(i1=1;i1<=7;i1++)
for(i1=1;i1<=7;i1++)
for(i2=1;i2<=7;i2++)
for(i3=1;i3<=7;i3++)
for(i4=1;i4<=7;i4++)
for(i5=1;i5<=7;i5++)
for(i6=1;i6<=7;i6++)
for(i7=1;i7<=7;i7++)
if(i1%2!=0||i2%2!=0||i3%2!=0||i4%2!=0||i5%2!=0||i6%2!=0||(i7%2!=0))
{
printf("%d%d%d%d%d%d%d\n",i1,i2,i3,i4,i5,i6,i7);
}
}
大家看一下,我不知道做的对不对!很可能不对!嘿嘿
----------------解决方案--------------------------------------------------------
#include <stdio.h>
void main()
{
int i1=1,i2=1,i3=2,i4=3,i5=4,i6=5,i7=6,i8=7;
for(i1=1;i1<=7;i1++)
for(i1=1;i1<=7;i1++)
for(i2=1;i2<=7;i2++)
for(i3=1;i3<=7;i3++)
for(i4=1;i4<=7;i4++)
for(i5=1;i5<=7;i5++)
for(i6=1;i6<=7;i6++)
for(i7=1;i7<=7;i7++)
if(i1%2!=0||i2%2!=0||i3%2!=0||i4%2!=0||i5%2!=0||i6%2!=0||(i7%2!=0))
{
printf("%d%d%d%d%d%d%d\n",i1,i2,i3,i4,i5,i6,i7);
}
}
大家看一下,我不知道做的对不对!很可能不对!嘿嘿
肯定不对了 ,运行都会出现偶数.略作修改,运行好像可以
void main()
{
int i1,i2,i3,i4,i5,i6,i7,i8;
for(i1=0;i1<=7;i1++)
for(i1=0;i1<=7;i1++)
for(i2=0;i2<=7;i2++)
for(i3=0;i3<=7;i3++)
for(i4=0;i4<=7;i4++)
for(i5=0;i5<=7;i5++)
for(i6=0;i6<=7;i6++)
for(i7=0;i7<=7;i7++)
if(i7%2!=0)
{
printf("%d%d%d%d%d%d%d\n",i1,i2,i3,i4,i5,i6,i7);
};
getch();
}
----------------解决方案--------------------------------------------------------
嗯。楼上改的还行!不错,表扬一下!
----------------解决方案--------------------------------------------------------
你们真行!
main()
{
long i;
for(i=1;i<=77777777;i+=2)
{
printf("%ld\n",i);
}
printf("sum=%ld",i/2);
getch();
}
再说LZ也不是那个意思啊
人家意思应该是无重复的数
要不77777777777777777777777777777777777777这个也行啊!!!
----------------解决方案--------------------------------------------------------
呵呵。楼上的更牛b,最简单的方法解决!
----------------解决方案--------------------------------------------------------
楼上的楼上的太NB了!
[此贴子已经被作者于2006-9-5 10:36:07编辑过]
----------------解决方案--------------------------------------------------------
你们真行!
main()
{
long i;
for(i=1;i<=77777777;i+=2)
{
printf("%ld\n",i);
}
printf("sum=%ld",i/2);
getch();
}
再说LZ也不是那个意思啊
人家意思应该是无重复的数
要不77777777777777777777777777777777777777这个也行啊!!!
/*加上这个函数判断一下,只是这个函数效率太低*/
int is_same(int num)
{
int i=0,j,a[8];
while(num)
{
a[i]=num%10;
num=num/10;
i++;
}
while(i>=0)
{
j=i-1;
while(j>=0)
{
if(a[j]==a[i])
{
return(0);
}
j--;
}
i--;
}
return(1);
}
----------------解决方案--------------------------------------------------------
#include<stdio.h>
int is_same(long num)
{
int i=0,j,a[8];
while(num)
{
a[i]=num%10;
num=num/10;
i++;
}
while(i>=0)
{
j=i-1;
while(j>=0)
{
if(a[j]==a[i])
{
return(0);
}
j--;
}
i--;
}
return(1);
}
int main()
{
long i,sum=0;
for(i=1;i<=77777777;i+=2)
{
if(is_same(i)==1)
{
//printf("%ld\n",i);
sum++;
}
}
printf("sum=%ld\n",sum);
return(0);
}
/*这段程序运行好几秒钟才出结果*/
----------------解决方案--------------------------------------------------------