2020年4月30日 星期四

迴圈變得更理解了

反序數字
#include<stdio.h>
int main(){
    int n;
   scanf("%d",&n);
   int n1=n;
   int ans=0;
   while(n>0){
       ans*=10;
       int now=n%10;
       n/=10;
      ans+=now;
    }
     int n2=ans;
     printf("%d+%d=%d\n",n1,n2,n1+n2);
}
 
分式化簡
#include<stdio.h>
int gcd(int m,int n){
    if(m==0)return n;
    else return gcd(n%m,m);
        }
int main(){
    int a,b,x;
    scanf("%d%d",&a,&b);
    x=gcd(a,b);
    printf("%d %d\n",a/x,b/x);
    }
加分題Cola 
#include<stdio.h>
int main(){
     int n,c;
     while(scanf("%d",&n)==1){
          c=0;
          while(n>=3)
          {
          c+=3;
          n-=2;
          }
          if(n==2)c+=3;
          else c+=n;
          printf("%d\n",c);
          }

      }
要做出一個Lyto Different Color
    先有四個小球
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;

}

用迴圈是
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;
}
void setup() {
   size(screen.width, screen.height);
  ansX= 3;
  ansY= 2;
}
int r=0;
int ansX, ansY, win=0;
void draw() {
  if (win==1) background(255, 255, 0);
  else background(0);
  int n=5;
  int w=300/(2*n);
  for (int x=0; x<n; x++) {
    for (int y=0; y<n; y++) {
      if (x==ansX && y==ansY)      fill(150);
      else fill(255);
      int cx=w+x*2*w, cy=200+w+y*2*w;
      ellipse(cx, cy, r, r);
      if (mousePressed && dist(mouseX, mouseY, cx, cy)<w) {
        if (ansX==x && ansY==y) {
          win=1; 
          r=0;
          ansX= int(random(n));
          ansY= int(random(n));
        }
      }
    }
    if (r< 2*w) r+=2;
  }
}
   

沒有留言:

張貼留言