# 資訊之芽(集合)
###### 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
• 固定在記憶體中的變數
• 只宣告 / 初始化一次,程式執行期間都會存在
* 不隨函式結束而消失 → 統計