計科190405程式設計題解
一、三角形
- 判斷是否是三角形:任意兩邊之和大於第三邊
- 注意三角形的邊不一定是整型
#include <stdio.h>
int main () {
int n;
scanf("%d",&n);
while(n -- ) {
double a,b,c;
scanf("%d%d%d",&a,&b,&c);
if (a+b>c&&a+c>b&&b+c>a) puts("YES");
else puts("NO");
}
return 0;
}
二、翻硬幣
-
答案就是總硬幣個數減去a的倍數和b的倍數的個數,但是a和b的公倍數會被翻兩次,相當於沒翻,所以還要加上a和b的最小公倍數的個數*2,乘以2是因為減去a和b的倍數,相當於減了兩次公倍數。
-
a和b的最小公倍數其實就是a*b/(他們的最大公因數)
//求最大公因數程式碼
int gcd(int a,int b)
{
return b?gcd(b,a%b):a;
}
#include <stdio.h>
int gcd(int a,int b) {
return b?gcd(b,a%b):a;
}
int main () {
int t;
scanf("%d",&t);
while(t -- ) {
int n,a,b;
scanf("%d%d%d",&n,&a,&b);
int k = a*b/gcd(a,b);
printf("%d\n",n-n/a-n/b+n/k+n/k;
}
return 0;
}
二進位制統計
- 思路:反覆%2,除2,直到%2=1,說明末尾沒0了,將統計的0的個數放到另一個陣列中
#include <stdio.h>
int cnt[32]; //cnt[i]表示末尾有i個0的個數為cnt[i]
void divide(int k)
{
int count = 0;
while(k%2==0)
{
k/=2;
count++;
}
cnt[count]++;
}
int main () {
int n;
scanf("%d",&n);
for (int i = 1; i <= n; i ++)
{
int k;
scanf("%d",&k);
divide(k);
}
for (int i = 0; i < 32; i ++) printf("%d ",cnt[i]);
return 0;
}
相關文章
- 程式設計師科學熬夜指南程式設計師
- JS程式設計題JS程式設計
- 程式設計題求解程式設計
- go程式設計題Go程式設計
- C程式設計題C程式程式設計
- 中國的中文程式設計是偽科學?程式設計
- JAVA程式設計題-用java解決兔子問題Java程式設計
- “九韶杯”河科院程式設計協會第一屆程式設計競賽題目分析以及總結程式設計
- 程式碼設計問題
- 【程式設計題】黑白卡片程式設計
- [程式設計題] 序列交換程式設計
- 無題程式設計師程式設計師
- 程式設計題目解析程式設計
- IT程式設計各學科語言的介紹程式設計
- 程式設計師必備技能-科學砍需求程式設計師
- Java程式設計之道:巧妙解決Excel公式迭代計算難題Java程式設計Excel公式
- Java程式設計(2021春)——第二章課後題(選擇題+程式設計題)答案與詳解Java程式設計
- Java程式設計__Chap3 面對物件__程式設計題Java程式設計物件
- 筆試題目——程式設計題筆試程式設計
- 解謎遊戲謎題設計研究(三):推理類謎題設計遊戲
- 解謎遊戲謎題設計研究(一):物品類謎題設計遊戲
- 解決問題的能力 > 10倍程式設計師程式設計師
- python和C++ NOI程式設計題解1.1PythonC++程式設計
- 程式設計師解決問題的 60 個策略程式設計師
- 程式設計師解決問題的60個策略程式設計師
- 怎麼解決程式設計師上網問題程式設計師
- 學習程式設計 vs 學習電腦科學程式設計
- 程式設計師在程式設計中遇到的奇葩弱智問題程式設計師
- 程式設計題-兩數相加程式設計
- JS中的程式設計題JS程式設計
- 華為程式設計題-加密解密程式設計加密解密
- 換汽水(華為程式設計題)程式設計
- 程式設計面試題釋出程式設計面試題
- 程式設計文化的問題程式設計
- 程式設計題:報數遊戲程式設計遊戲
- PHP程式設計師面試題PHP程式設計師面試題
- 順序程式設計習題程式設計
- c語言程式設計題C語言程式設計