組合三位數
阿新 • • 發佈:2018-12-30
題目內容:
將0到9這十個數字分成三個3位數,要求第一個3位數,正好是第二個3位數的1/2,是第三個3位數的1/3。問應當怎樣分,編寫程式實現。
輸入格式: 無
輸出格式:"%d,%d,%d\n" (注意:輸出的順序為第一個3位數,第二個3位數,第三個3位數)
#include<stdio.h>
int main()
{
int i,m,count=0,j;
long n;
for(i=123;i<=333;i++) //因為數字不能重複,所以從123開始;由於後面有3i,所以i迴圈到333;
{
count=0; //這一處和陣列一定要在迴圈剛開始初始化為零。
int a[10]={0};
n=i*1000000+2*i*1000+3*i; //將i,2i,3i組成一個九位數,方便拆分。
do
{
m=n%10;
a[m]++; //若拆分的數為5,則a[5]=1,方便下面判斷;
n=n/10;
}while(n!=0);
for(j=0;j<10;j++)
{
if(a[j]==1)
count++;
}
if(count==9)
printf("%d,%d,%d\n" ,i,2*i,3*i);
}
}