---
# System prepended metadata

title: 資訊之芽(集合)
tags: [(Sprout OJ)]

---

# 資訊之芽(集合)
###### tags: `(Sprout OJ)`

## 764.減肥成功率
```clike=
#include<iostream>
using namespace std;

int main()
{
	int a,b,c,d,sum;
	while(cin>>a>>b)
	{
		for(int sum=0;a--;sum=0)
		{
			for(int j=1;j<=b;j++)
			{
				cin>>c>>d;
				if(d-c<8)
				sum++;
			}
			cout<<sum*100/b<<endl;
		}
	}
}
```
---
## 294-我愛零分
```clike=
#include <iostream>
using namespace std;

int main()
{
    int n,s,G[10000];
    while(cin>>n)
    {
        for(int i=1;i<=n;i++)
        {
            cin>>s;
            if(s>0)
            {
                G[i]=0;
            }
            else
            G[i]=s;
        }
        for(;n>=1;n--)
        cout<<G[n]<<endl;
    }
}

```

---
## 217-凱撒密碼
```clike=
#include <iostream>
using namespace std;
int main()
{
    char a,b;
    while(cin>>a)
    {
        b=(a-'a'+3)%26+'a';
        cout<<b;
    }
    cout<<endl;
}

```
---
## 1419-矩陣翻轉 (未過)
```clike=
#include <iostream>
using namespace std;

int main()
{
    int n,m,a;
    while(cin>>n>>m)
    {
        int z[n][m];
        for(int i=0;i<n;i++)
        {
            for(int j=0;j<m;j++)
            {
                cin>>a;
                z[i][j]=a;
            }
        }
        for(int i=0;i<m;i++)
        {
            for(int j=0;j<n;j++)
            {
                cout<<z[j][i]<<" ";
            }
            cout<<endl;
        }
    }
}

```
---
# -----------------第5週------------------
## 456 - 回る回る回る回る...
```clike=
#include <iostream>
#include <cstring>
using namespace std;

int main()
{
    int a;
    char z[1001],x[2002];
    while(cin>>z)
    {
        a=strlen(z);
        for(int i=a-1;i>=0;i--)
        {
            strcpy(x,z+i);
            strcat(x,z);
            x[a]=0;
            cout<<x<<endl;
        }
    }
}

```
---
## 455 - 縮略詠唱可不是簡單的事情呢！
#### 傳送門:https://neoj.sprout.tw/problem/455/
```clike=
#include <iostream>
#include <cstring>
using namespace std;

int main()
{
    char v1[100][100][100];
    int a,b;
    while(cin>>a)
    {
        for(int i=0;i<a;i++)    //設字元陣列 a=行數 b=節數
        {
            cin>>b;
            for(int j=0;j<b;j++)
            {
                cin>>v1[i][j];
            }
        }
        for(int i=0;i<a;i++)
        {
            int Spell=0;
            for(int j=0;j<a;j++)
            {
                if(i==j)continue;
                for(int k=0;k<100;k++)
                {
                    if(strcmp(v1[i][k],v1[j][k])!=0)
                    {
                        Spell=max(Spell,k); //max判斷較大的節數
                        break;
                    }
            }
                }
            cout<<Spell+1<<endl;
        }
    }
}

```
##  型態/型別轉換
### 若A,B型態不同，則A，B型態較小者被轉換為較大者，再進行計算

### 位階表
#### 小數最大
bool < char < int < long long

##### 如果只有一個無號數，有號數轉為無號數
ex:
```c

strlen(str) //無號數
int a=-1;      //有號數
if(a<strlen(str))
cout<<"有號數"<<endl;
else
cout<<"無號數"<<endl;
//無號數
```
# -----------------第6週------------------
## [225-3n+1 Problem](https://neoj.sprout.tw/problem/225/)
```clike=
#include <iostream>
using namespace std;
int san_n_jia_i(int n)  //定義函數
    {
        if(n==1)
        return n;
        else if(n%2==0)
        {
            n/=2;
            return n;
        }
        else
        {
            return 3*n+1;
        }
    }
int main()
{
    int n;
    while(cin>>n)
        cout<<san_n_jia_i(n);
}

``` 
---
## 修飾子
* ### unsigned  
  • signed : 有正、負,用MSB分辨  
  • unsigned : 只有正數→上限變兩倍   
  • -(2^31)~(2^31)-1→0~(2^32) - 1
  
* ## Const
  • 避免不小心被更動  
  • 可用於參數的傳遞
* ## Static

  • 固定在記憶體中的變數  
  • 只宣告 / 初始化一次,程式執行期間都會存在  
  * 不隨函式結束而消失 → 統計