核桃的數量 測試
小張是軟件項目經理,他帶領3個開發組。工期緊,今天都在加班呢。爲鼓舞士氣,小張打算給每一個組發一袋核桃(據傳言能補腦)。他的要求是:spa
1. 各組的核桃數量必須相同設計
2. 各組內必須能平分核桃(固然是不能打碎的)調試
3. 儘可能提供知足1,2條件的最小數量(節約鬧革命嘛)code
#include<stdio.h> int f(int a,int b) { int i,t; if(b>a) { t=a; a=b; b=t; } for(i=a;;i=i+a) { if(i%a==0&&i%b==0)break; } return i; } int main() { int a,b,c,r; scanf("%d%d%d",&a,&b,&c); r=f(a,b); r=f(r,c); printf("%d\n",r); return 0; }
打印十字圖 blog
/* 問題描述 小明爲某機構設計了一個十字型的徽標(並不是紅十字會啊),以下所示: ..$$$$$$$$$$$$$.. ..$...........$.. $$$.$$$$$$$$$.$$$ $...$.......$...$ $.$$$.$$$$$.$$$.$ $.$...$...$...$.$ $.$.$$$.$.$$$.$.$ $.$.$...$...$.$.$ $.$.$.$$$$$.$.$.$ $.$.$...$...$.$.$ $.$.$$$.$.$$$.$.$ $.$...$...$...$.$ $.$$$.$$$$$.$$$.$ $...$.......$...$ $$$.$$$$$$$$$.$$$ ..$...........$.. ..$$$$$$$$$$$$$.. 對方同時也須要在電腦dos窗口中以字符的形式輸出該標誌,並能任意控制層數。 輸入格式 一個正整數 n (n<30) 表示要求打印圖形的層數。 輸出格式 對應包圍層數的該標誌。 樣例輸入1 1 樣例輸出1 ..$$$$$.. ..$...$.. $$$.$.$$$ $...$...$ $.$$$$$.$ $...$...$ $$$.$.$$$ ..$...$.. ..$$$$$.. 樣例輸入2 3 樣例輸出2 ..$$$$$$$$$$$$$.. ..$...........$.. $$$.$$$$$$$$$.$$$ $...$.......$...$ $.$$$.$$$$$.$$$.$ $.$...$...$...$.$ $.$.$$$.$.$$$.$.$ $.$.$...$...$.$.$ $.$.$.$$$$$.$.$.$ $.$.$...$...$.$.$ $.$.$$$.$.$$$.$.$ $.$...$...$...$.$ $.$$$.$$$$$.$$$.$ $...$.......$...$ $$$.$$$$$$$$$.$$$ ..$...........$.. ..$$$$$$$$$$$$$.. 提示 請仔細觀察樣例,尤爲要注意句點的數量和輸出位置。 心得體會:打印圖形的題,必定不能急躁,要善於發現圖形的規律,而且按照規律一步一步來,先調試簡單的圖形,而後再網上測試. */ #include<stdio.h> char a[10000][10000]; int main() { int n,i,j,k,b,r,c,d,t,m; scanf("%d",&n); int row=9+(n-1)*4,cll=row,mid=row/2+1; k=n-1; for(i=1;i<=row/2;k--) { m=5+4*k; b=(row-m)/2; // if(i%2==1) // { a[i][mid]='$'; for(r=mid+1;r<=row-b;r++) { a[i][r]=a[i][row-r+1]='$'; } if(b==2) { a[i][r]=a[i][row-r+1]='.';r++; a[i][r]=a[i][row-r+1]='.';r++; } else { a[i][r]=a[i][row-r+1]='.';r++;t=r+2; for(;r<=t;r++)a[i][r]=a[i][row-r+1]='$'; for(;r<=row;) { a[i][r]=a[i][row-r+1]='.';r++; a[i][r]=a[i][row-r+1]='$';r++; } } i++; // } // else // { c=m-2;d=(cll-c)/2; if(m==1) { a[i][mid]='$';r=mid+1; } else { a[i][mid]='.'; for(r=mid+1;r<=row-d;r++) a[i][r]=a[i][row-r+1]='.'; a[i][r]=a[i][row-r+1]='$';r++; } //if(d-1==2) // { a[i][r]=a[i][row-r+1]='.';r++; a[i][r]=a[i][row-r+1]='.';r++; // } for(;r<=row;) { a[i][r]=a[i][row-r+1]='.';r++; a[i][r]=a[i][row-r+1]='$';r++; } // } i++; } a[i][mid]='$'; for(r=mid+1;r<=mid+2;r++)a[i][r]=a[i][row-r+1]='$'; for(;r<=row;) { a[i][r]=a[i][row-r+1]='.';r++; a[i][r]=a[i][row-r+1]='$';r++; } for(i=1;i<=row/2+1;i++) { for(j=1;j<=cll;j++) { printf("%c",a[i][j]); } printf("\n"); } for(i=row/2;i>0;i--) { for(j=1;j<=cll;j++) { printf("%c",a[i][j]); } printf("\n"); } return 0; }