瘋狂程設
1.進階題:反序數字
程式:
#include <stdio.h>
int main(){
int n;
scanf("%d",&n);
int n1=n;//備份,因為等一下n犧牲
int ans=0;
while(n>0){
//剝皮法 1234=>123 4拿出來
ans *=10;//變10倍
int now=n%10;//取出4
n/=10;//剝皮(n犧牲了)
ans +=now;//加進去
}
int n2=ans;
printf("%d+%d=%d\n",n1,n2,n1+n2);
}
2.進階題:分式化簡
程式:
//最大公因數法...約分
//找到大家都可以消掉的數字
#include <stdio.h>
int main(){
int a,b;
scanf("%d %d",&a,&b);
int ans;
for(int i=1;i<=a;i++){
if(a%i==0 && b%i==0) ans=i;
//可消除a,也可消除b
}
printf("%d %d\n",a/ans,b/ans);
}
3.UVA11150:加分題Cola
程式:
#include <stdio.h>
int main()
{
int n;
while(scanf("%d",&n)==1){
int ans=n;//喝到幾瓶
//n個空瓶
while(n>=3){//只要還有3個空瓶
int more = n/3;
n=n%3;//剩下幾個空瓶
ans+=more;//多喝!
n+=more;//也多了空瓶
}
//你現在手上就有兩個空瓶,
//雖然不能直接換,但是,
//你可以找人,去借個空瓶子,
//先喝了他(Yes賺到!!!)得到1個空瓶,
//再還人家
if(n==2) ans++;//賺到!!!
printf("%d\n",ans);
}
}
Processing
1.做出四個會慢慢變大的圓形
程式:
void setup(){ size(300,500); } int r=0; void draw(){ background(0); ellipse(70,200+75,r,r); ellipse(70,200+75+150,r,r); ellipse(70+150,200+75,r,r); ellipse(70+150,200+75+150,r,r); if(r<145) r+=2; else r=0; }
2-1.做出六個會慢慢變大的圓形程式:
void setup(){ size(300,500); } int r=0; void draw(){ background(0); ellipse(50,200+50,r,r); ellipse(50,200+50+100,r,r); ellipse(50,200+50+100+100,r,r); ellipse(50+100,200+50,r,r); ellipse(50+100,200+50+100,r,r); ellipse(50+100,200+50+100+100,r,r); ellipse(50+100+100,200+50,r,r); ellipse(50+100+100,200+50+100,r,r); ellipse(50+100+100,200+50+100+100,r,r); if(r<100) r+=2; else r=0; }
2-2.用for迴圈做六個會慢慢變大的圓形
程式:
void setup(){
size(300,500);
}
int r=0;
void draw(){
background(0);
for(int x=0;x<3;x++){
for(int y=0;y<3;y++){
ellipse(50+x*100,200+50+y*100,r,r);
}
}
if(r<100) r+=2;
else r=0;
}
沒有留言:
張貼留言