c語言編程的問題
10
前幾天做了一道數學題,由1234567組成的各位數字互不相等的數字中,其中1開頭的,相鄰兩個數字之差不大於2的數字有哪些,想把它寫成程序,不過功夫不夠,不能判斷數字有沒有重復,哪位高手幫下忙
最佳回答:
#include<stdio.h>
main(){
int i,arr[7],k;
for(i=1234567;i<=1400000;i++){
arr[6]=i%10;
arr[5]=(i/10)%10;
arr[4]=(i/100)%10;
arr[3]=(i/1000)%10;
arr[2]=(i/10000)%10;
arr[1]=(i/100000)%10;
arr[0]=i/1000000;
for(k=0;k<6;k++) {
if(-2>(arr[k]-arr[k+1])||(arr[k]-arr[k+1])>2||
arr[k+1]==8 ||arr[k+1]==9||arr[k+1]==0||arr[k]==arr[k+1]||
arr[k]==arr[k+2] ||arr[k]==arr[k+3]||arr[k]==arr[k+4]||arr[k]==arr[k+5]){
break;}
if(k<5){continue;}
printf("%d\n",i);
}
}
}