A 本题为今年西南民大校赛的一道签到题
只需逐行循环读入字符串,并统计“:w”的个数即可,注意程序有空格间断,所以使用gets读入
代码:
#include#include #define maxn 100000 int main(void) { char s[maxn]; int sum=0; while(gets(s)) { int len=strlen(s); int i; for(i=0;i B
本题为今年图灵杯的一道简单数学题
原式可化为N+1=(a+1)*(b+1)
可知若N+1为合数,则上式必然成立。N+1为素数,则无满足条件的a与b
所以只要写一个谓词判断N+1是否为素数即可。
代码
#include#include int main(void) { int flag=0; long long n; int a; scanf("%lld",&n); for(a=2;a<=sqrt(n+1);a++) { if((n+1)%a==0) { flag=1; break; } } if(flag) { printf("Yesn"); } else { printf("Non"); } return 0; } C
本题为牛客跨年赛的一道整活题
容易发现,只需要找出了⌊ u[i] / q[i] ⌋的最小值即可
由于c语言本身自动类型转换的特性,所以只要循环遍历一遍,直接用max与u[i]/q[i]比较,其结果会自动进行floor *** 作。
代码:
#includetypedef long long ll; ll q[100100]; ll u[100100]; int main(void) { ll T; scanf("%lld",&T); while(T--) { int n; scanf("%d",&n); int i; for(i=0;i (u[i]/q[i])) { max=(u[i]/q[i]); } } printf("%lldn",max); } return 0; } D 该题同样为西南民大校赛签到题
用函数进行非记忆化递归会超时,可以用数组递推
代码:
#includeconst int mod=1000000007; long long int func[10000100]; int main(void) { int x; scanf("%d",&x); int i; func[0]=0; func[1]=1; func[2]=2; func[3]=3; for(i=4;i<=x;i++) { func[i]=(func[i-1]+func[i-3])%mod; } printf("%lldn",func[x]); return 0; } 欢迎分享,转载请注明来源:内存溢出
评论列表(0条)