思维水题
Zhazhahe究竟有多二
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 2599 Solved: 512
Description
Zhazhahe竟然能二到把耳机扔到洗衣机里去洗,真的是二到了一种程度,现在我们需要判断一下zhazhahe二的程度(就是计算zhazhahe的脑残值有几个2的因子),下面给你一个n,n!表示zhazhahe的脑残值。
Input
输入一个正整数t(0<t<3000)表示样例组数,每组样例输入一个正整数n(0<n<1e18),n!表示zhazhahe的脑残值
Output
输出一个正整数表示zhazhahe二的程度
Sample Input
3
2
4
15
Sample Output
1
3
11
水题但要看思维 每次都是在偶数上提取如!20=1*2*3*4*******20=2(10)*(1*2*3*4*5*6*7*8*9*10)=2(10)*2(5)*(1*2*3*4*5)=
2(10)*2(5)*2(2)*(1*2)=2(10)*2(5)*2(2)*2(1);
即个数为(10+5+2+1)。
#include<iostream> #include<algorithm> #include<cmath> using namespace std; int main() { long long T,n,sum; cin>>T; while(T--) { cin>>n; sum=0; while(n) { sum+=n/2; n/=2; } cout<<sum<<endl; } return 0; }
剁手女生节
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 2450 Solved: 365
Description
由于女生节准备到了,ming打算给班上女生送一份大礼。没错,就是数学练习册!
ming先前就已经收藏了 n 本练习册了,一直不舍得做,这次突然决定把它们都拿出来当作礼物送出去!
但是,ming班上一共有 4 个女生,为了不要显得自己偏爱哪一个,他觉得每个女生都应该分到同等数量的练习册。
这样的话,原来的 n 本就可能不太够了。于是他去逛亚马当商城。
他发现,最近ACM(Association of Counting Method)又出版了好多新版数学练习册:高数、线代、离散、概率论…
而且商店有三种促销优惠套餐:
第一种:任选 1 本练习册,送欧几里德主题套尺。只需 a 个比特币;
第二种:任选 2 本练习册,送莱布尼兹同款2B铅笔。只需 b 个比特币;
第三种:任选 3 本练习册,送爱因思坦专用橡皮擦。只需 c 个比特币。
那么问题来了:吃土ming如何用最少的比特币购买若干本练习册,使得全部(包括原来的n本)可以平分给四个女生?
Input
每组输入是一行四个整数:n,a,b,c(1 <= n,a,b,c <= 1e9)意思如题目描述。
Output
对每组输入,输出一行一个整数,表示ming要花的最少的比特币数。
Sample Input
3
1 1 3 4
6 2 1 1
4 4 4 4
Sample Output
3
1
0
水过,简单贪心
#include<iostream> #include<algorithm> using namespace std; long long min(long long x,long long y) { return x<y?x:y; } int main() { long long T,n,a,b,c,sum; cin>>T; while(T--) { cin>>n>>a>>b>>c; sum=0; n=4-(n%4); if(n==1) sum+=min(a,min(b+c,c*3));//考虑1,5,9; else if(n==2) { sum+=min(a*2,min(b,c*2));//考率2.2.6; } else if(n==3) { sum+=min(a*3,min(b+a,c)); } cout<<sum<<endl; } return 0; }