1. 程式人生 > 實用技巧 >狀態壓縮DP 初探

狀態壓縮DP 初探

#include <stdio.h>

int main() {
    int a=5, b=7, c=100, d, e,f;
    
    d=a/b*c;
    e=a*c/b;
    f=c/b*a;
    
    printf("d=%d, e=%d, f=%d\n", d,e,f);
    return 0;
}

d=a/b*c e=a*c/b f=c/b*a

#include <stdio.h>

int main() {
    int x=1234;
    float f=123.456;
    double m=123.456;
    char
ch='a'; char a[]="Hello, world!"; int y=3, z=4; printf("%d %d\n",y,z); printf("y=%d, z=%d\n", y,z); printf("%8d,%2d\n", x,x); printf("%f, %8f, %8.1f, %0.2f, %.2e\n",f,f,f,f,f); printf("%1f\n",m); printf("%3c\n",ch); printf("%s\n%15s\n%10.5s\n%2.5s\n%.3s\n",a,a,a,a,a);
return 0; }

%d:十進位制整數 %c:位元組 %f:保留六位的小數 %s:字串 %e:科學計數法

百分號後加一個整數 整數表示輸出的寬度 百分號後加一個大於1的一位小數,整數部分表示寬度,小數部分表示保留的位數 百分號後加小於一的一位小數,表示保留的位數

#include <stdio.h>

int main() {
    double x,y;
    char c1,c2,c3;
    int a1,a2,a3;
    
    scanf("%d%d%d",&a1,&a2,&a3);
    printf("%d,%d,%d\n
",a1,a2,a3); scanf("%c%c%c",&c1,&c2,&c3); printf("\'%c\'\'%c\'\'%c\'\n",c1,c2,c3); scanf("%lf,%lf",&x,&y); printf("%f,%lf\n",x,y); return 0; }

#include <stdio.h>

int main() {
    char x;
    
    x=getchar();
    
    if(x>='0'&&x<='9')
        printf("%c是數字字元\n", x);
    else if(x>='a'&&x<='z')
        printf("%c是英文字母\n", x);
    else
        printf("%c是其它字元\n", x);
    
    return 0;
}

#include <stdio.h>

int main() {
    char ans1, ans2;
    
    printf("複習了沒?(輸入y或Y表示複習了,輸入n或N表示沒複習):");
    ans1 = getchar();
    
    getchar();//為什麼要這一行
    
    printf("\n動手敲程式碼了沒?(輸入y或Y表示敲了,輸入n或N表示木有敲):");
    ans2 = getchar();
    
    if((ans1=='y'||ans1=='Y') && (ans2=='y'||ans2=='Y'))
        printf("\n羅馬不是一天建成的:)\n");
    else
        printf("\n羅馬不是一天毀滅的。。。\n");
    
    return 0;
}

#include <stdio.h>

int main() {
    int sum=0,i=1,a=1,n,k;
    scanf("%d",&n);
    k=n;
    
    while(n>0){
        for(i=1;i<n;i++){
            a*=2;
        }
        sum+=a;
        a=1;
        n--;
    }
    
    printf("n=%d時,sum=%d\n",k,sum);
    
    return 0;
}