---
tags: DICE C
---
20-2 祕密差
===
> [name=CHAWTeam]
目錄:[DICE C語言程式破解](/@CHAWTeam/DiceC)
題目
---
```!
將一個十進位正整數的奇數字數的和稱為 A,偶數字數的和稱為 B,則 A 與 B 的絕 對差值|A-B|稱為這個正整數的祕密差。
例如:263541 的奇數字數的和 A = 6+5+1 = 12,偶數字數的和 B = 2+3+4 = 9,所以 263541 的祕密差是|12-9|= 3。
給定一個十進位正整數 X,請找出 X 的祕密差。
輸入格式
輸入為一行含有一個十進位表示法的正整數 X,之後是一個換行字元。
輸出格式
請輸出 X 的祕密差 Y(以十進位表示法輸出),以換行字元結尾。
範例一:輸入
263541
範例一:正確輸出
3
(說明)263541 的 A = 6+5+1 = 12,B = 2+3+4 = 9,|A-B|= |12-9|= 3。
範例二:輸入
131
範例二:正確輸出
1
(說明)131 的 A = 1+1 = 2,B = 3,|A-B|= |2-3|= 1。
知識點:字元、字串
```
程式碼
---
```c=
#include <stdio.h>
int main()
{
int a, b, c, t;
scanf("%d %d %d", &a, &b, &c);
if (a > b)
{
t = a;
a = b;
b = t;
}
if (b > c)
{
t = b;
b = c;
c = t;
}
if (a > b)
{
t = a;
a = b;
b = t;
}
printf("%d %d %d\n", a, b, c);
//三角形條件
if (a + b <= c)
printf("No\n");
//鈍角三角形
else if (a * a + b * b < c * c)
printf("Obtuse\n");
//直角三角形
else if (a * a + b * b == c * c)
printf("Right\n");
//銳角三角形
else if (a * a + b * b > c * c)
printf("Acute\n");
return 0;
}
```
```cpp=
#include<iostream>
#include<algorithm>
using namespace std;
int main(){
int a[3],num;
while(cin>>a[0]>>a[1]>>a[2]){
sort(a,a+3,less<int>());
for(int i=0;i<3;i++)
{
cout << a[i] << " ";
}
cout <<endl;
if(a[0]+a[1]<=a[2])
{
cout <<"No" <<endl;
}
else if(a[0]*a[0]+a[1]*a[1] < a[2]*a[2])
cout << "Obtuse" <<endl;
else if(a[0]*a[0]+a[1]*a[1] == a[2]*a[2])
cout << "Right" <<endl;
else if(a[0]*a[0]+a[1]*a[1] > a[2]*a[2])
cout << "Acute" <<endl;
}
return 0;
}
```
執行
---
### 輸入
```!
3 4 5
```
### 輸出
```!
3 4 5
Right
```
---
[查看我們在HackMD上的所有筆記](/@CHAWTeam)
目錄:[DICE C語言程式破解](/@CHAWTeam/DiceC)
---
{%hackmd Iiu5mOixR7yWkPHKCkabBg %}
<iframe class="LikeCoin" height="235" src="https://button.like.co/in/embed/chawteam/button?referrer=https://hackmd.io/@CHAWTeam/DiceC-20-2" width="100%"></iframe>
---
{%hackmd i1nMRrZcTFmTvoF897K9zg %}