牛客竞赛语法入门班循环结构习题完结
Posted 辉小歌
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了牛客竞赛语法入门班循环结构习题完结相关的知识,希望对你有一定的参考价值。
入门级别的题
题单地址:https://ac.nowcoder.com/acm/contest/19305?from=acdiscuss#question/%22page%22%3A1
目录
- 上下金字塔
- 数字三角形
- 字符金字塔
- 涂小天与他的画
- 箭形图案
- 牛牛学数列
- 牛牛学数列2
- 牛牛学数列3
- 牛牛学数列4
- 牛牛学数列5
- 牛牛学数列6
- A+B
- 多组输入a+b
- 多组输入a+b II
- 多组数据a+b III
- [NOIP2018]标题统计
- 栗酱数数
- 有趣的二进制
- [NOIP2006]数列
- 只能吃土豆的牛牛
- [NOIP2015]金币
- 托米历险记
- 绩点
- 买铅笔
- 整数个数
- 栗酱的文明2
- 黑大火与他的猫
- [NOIP2000]进制转换【负数进制】
- 素数判断
- Game【有意思】
- [NOIP1999]Cantor表
- 最大的差
- 成绩统计
- 糖果俱乐部
- 数字计数
- 热杆上的蚂蚁
- 焦虑的蚂蚁
- 拯救小a
- YoungManDon'tSayFive
- 魔法数字变换
- [NOIP2005]陶陶摘苹果
- [NOIP2004]津津的储蓄计划
- [NOIP2002]级数求和
- cayun日常之赏月
- 鹏
- D博弈与核心能源动力
- 好数
- 3和5和7
- 回文对称数
- 数位之和
- 箱子归位
- 栗酱和火柴
- [NOIP2009]多项式输出
- 更相减损术
上下金字塔
#include<stdio.h>
void print_f(int n);
int main(void)
int n;
while( scanf("%d",&n) != EOF )
print_f(n);
return 0;
void print_f(int n)
int i,j;
for(i=1;i<=n;i++)
for(j=1;j<=n-i;j++)
printf(" ");
for(j=1;j<=i*2-1;j++)
printf("*");
printf("\\n");
for(i=1;i<=n-1;i++)
for(j=1;j<=i;j++)
printf(" ");
for(j=1;j<=2*(n-i)-1;j++)
printf("*");
printf("\\n");
数字三角形
#include<stdio.h>
int main(void)
int n;
int i,j;
int a=1;
scanf("%d",&n);
for(i=1;i<=n;i++)
for(j=1;j<=i;j++)
printf("%4d",a);
a++;
printf("\\n");
字符金字塔
#include<bits/stdc++.h>
using namespace std;
int main(void)
char c; cin>>c;
int n=c-'A'+1;
for(int i=1;i<=n;i++)
for(int j=1;j<=n-i;j++) cout<<" ";
int k=0;
for(int j=1;j<=1+(i-1)*2;j++)
printf("%c",'A'+k);
if(j<i)k++;
else k--;
cout<<endl;
return 0;
涂小天与他的画
#include<bits/stdc++.h>
using namespace std;
int main(void)
int t; cin>>t;
while(t--)
int n; cin>>n;
n=n/2+1;
for(int i=1;i<=n;i++)
for(int j=1;j<=n-i;j++) cout<<" ";
for(int j=1;j<=1+(i-1)*2;j++) cout<<"*";
cout<<endl;
n--;
for(int i=1;i<=n;i++)
for(int j=1;j<=i;j++) cout<<" ";
for(int j=1;j<=1+(n-i)*2;j++) cout<<"*";
cout<<endl;
return 0;
箭形图案
#include<bits/stdc++.h>
using namespace std;
int main(void)
int n;
while(cin>>n)
for(int i=1;i<=n;i++)
for(int j=1;j<=(n+1-i)*2;j++) cout<<" ";
for(int j=1;j<=i;j++) cout<<"*";
cout<<endl;
for(int i=1;i<=n+1;i++) cout<<"*";
cout<<endl;
for(int i=1;i<=n;i++)
for(int j=1;j<=i*2;j++) cout<<" ";
for(int j=1;j<=n+1-i;j++) cout<<"*";
cout<<endl;
return 0;
牛牛学数列
#include<stdio.h>
int main(void)
int a,b;
int sum;
int i,n;
scanf("%d",&n);
sum=0;
for(i=1;i<=n;i++)
if(i%2==0)
sum=sum-i;
else
sum=sum+i;
printf("%d\\n",sum);
return 0;
牛牛学数列2
#include<stdio.h>
int main(void)
int n;
int i;
double sum=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
sum=sum+1/(double)i;
printf("%.6lf\\n",sum);
return 0;
牛牛学数列3
#include<bits/stdc++.h>
using namespace std;
double sum;
int n;
double solve(int n)
int k=1,temp=0;
for(int i=1;i<=n;i++)
if(i&1) temp+=k;
else temp-=k;
k+=2;
return 1.0/temp;
int main(void)
cin>>n;
for(int i=1;i<=n;i++) sum+=solve(i);
printf("%.3lf",sum);
return 0;
牛牛学数列4
#include<bits/stdc++.h>
using namespace std;
int main(void)
int n; cin>>n;
int sum=0,temp=0;
for(int i=1;i<=n;i++)
temp+=i;
sum+=temp;
cout<<sum<<endl;
return 0;
牛牛学数列5
#include<bits/stdc++.h>
using namespace std;
typedef long long int LL;
LL f[105];
int main(void)
int n;cin>>n;
f[1]=1,f[2]=1;
for(int i=3;i<=n;i++) f[i]=f[i-1]+f[i-2];
cout<<f[n];
return 0;
牛牛学数列6
#include<bits/stdc++.h>
using namespace std;
typedef long long int LL;
LL f[105];
int main(void)
int n;cin>>n;
f[1]=0,f[2]=1,f[3]=1;
for(int i=4;i<=n;i++) f[i]=f[i-1]+f[i-2]*2+f[i-3];
cout<<f[n];
return 0;
A+B
#include<bits/stdc++.h>
using namespace std;
typedef long long int LL;
LL f[105];
int main(void)
int a,b;
while(cin>>a>>b) cout<<a+b<<endl;
return 0;
多组输入a+b
#include<stdio.h>
int main(void)
int a,b;
while( scanf("%d %d",&a,&b) != EOF )
printf("%d\\n",a+b);
return 0;
多组输入a+b II
#include<bits/stdc++.h>
using namespace std;
int main(void)
int t; cin>>t;
while(t--)
int a,b; cin>>a>>b;
cout<<a+b<<endl;
return 0;
多组数据a+b III
#include<bits/stdc++.h>
using namespace std;
int main(void)
int a,b;
while(cin>>a>>b,a!=0||b!=0)
cout<<a+b<<endl;
return 0;
[NOIP2018]标题统计
#include<bits/stdc++.h>
using namespace std;
int main(void)
string s; getline(cin,s);
int cnt=0;
for(int i=0;i<s.size();i++)
if(s[i]!=' ') cnt++;
cout<<cnt<<endl;
栗酱数数
#include<bits/stdc++.h>
using namespace std;
bool check(int i)
if(i%4==0) return false;
while(i)
int t=i%10;
if(t==4) return false;
i/=10;
return true;
int main(void)
int n; cin>>n;
for(int i=1;i<=n;i++)
if(check(i)) cout<<i<<endl;
return 0;
有趣的二进制
#include<bits/stdc++.h>
using namespace std;
long long int lowbit(long long int x)
return x&(-x);
int main(void)
long long int n;
while(cin>>n)
int cnt=0;
while(n)
n=n-lowbit(n);
cnt++;
cout<<cnt<<endl;
return 0;
[NOIP2006]数列
https://ac.nowcoder.com/acm/contest/19305/1019
爆搜打表,再查找。
#include<bits/stdc++.h>
using namespace std;
typedef long long int LL;
LL k,n;
set<LL>st;
void dfs(LL sum,LL step)
if(sum>1e15) return;
st.insert(sum);
if(step<15)
dfs(sum+pow(k,step),step+1);
dfs(sum,step+1);
int main(void)
cin>>k>>n;
dfs(0,1);
dfs(1,1);
int k=0;
for(auto i=st.begin以上是关于牛客竞赛语法入门班循环结构习题完结的主要内容,如果未能解决你的问题,请参考以下文章