当前位置: 首页 > news >正文

题单【循环结构】

P1009 [NOIP 1998 普及组] 阶乘之和

P1009 [NOIP 1998 普及组] 阶乘之和 - 洛谷

高精度乘法与高精度加法;按照运算的顺序来 

#include<iostream>
#include<cstdio>
using namespace std;
int n,a[101]={0},s[101]={0};
void do_jiecheng(int x)
{int g=0;for(int i=100;i>=0;i--)//从末尾开始存,a[100]存的是个位数{a[i]=a[i]*x+g;    //两位相乘+进位(刚开始进位为0)g=a[i]/10;        //修改进位a[i]=a[i]%10;     //取模}
}
void jiecheng_add()
{int g=0;for(int i=100;i>=0;i--){s[i]=s[i]+a[i]+g;g=s[i]/10;s[i]=s[i]%10;}
}
void output()
{int w;for(int i=0;i<=100;i++){if(s[i]!=0){w=i;break;}}for(int i=w;i<=100;i++)printf("%d",s[i]);
}int main()
{scanf("%d",&n);s[100]=a[100]=1;for(int i=2;i<=n;i++){do_jiecheng(i);jiecheng_add();}output();return 0;
}

 

P1035 [NOIP 2002 普及组] 级数求和

P1035 [NOIP 2002 普及组] 级数求和 - 洛谷

【注意】浮点数除法要用“1.0”去除 

#include<bits/stdc++.h>
using namespace std;int main()
{int n;cin>>n;int i;double sum=0;for(i=1;;i++){sum+=1.0/i;       //注意这边是“1.0”if(sum>n){break;}}cout<<i;return 0;
}

 

P2669 [NOIP 2015 普及组] 金币

P2669 [NOIP 2015 普及组] 金币 - 洛谷

 循环的嵌套

#include<bits/stdc++.h>
using namespace std;int main()
{int k;cin>>k;long sum=0;int num=0;for(int i=0;;i++){for(int j=1;j<=i;j++){sum+=i;num++;if(num=k){cout<<sum;return 0;}}}return 0;
}

 

P5723 【深基4.例13】质数口袋

P5723 【深基4.例13】质数口袋 - 洛谷

质数的判断;vector容器的应用;输出 

#include <bits/stdc++.h>
using namespace std;bool isPrime(int n) {if (n < 2) return false;for (int j = 2; j * j <= n; j++) {if (n % j == 0) return false;}return true;
}int main() {int L;cin >> L;if (L < 2) {  // L == 1 或更小,不可能存入质数cout << "0" << endl;return 0;}int sum = 0, num = 0;vector<int> primes;  // 存储所有装入的质数for (int i = 2; sum + i <= L; i++) {  // 遍历所有可能的质数if (isPrime(i)) {sum += i;primes.push_back(i);num++;}}for (int p : primes) {cout << p << endl;}cout << num << endl;  // 输出质数个数return 0;
}

 

P1217 [USACO1.5] 回文质数 Prime Palindromes

P1217 [USACO1.5] 回文质数 Prime Palindromes - 洛谷

一个一个生成回文数,再判断是否是质数 

#include <iostream>
#include <cmath> 
using namespace std;bool prime(int x)
{bool b=true;for(int i=2;i<=sqrt(x);i++){if(x%i==0)b=false;}return b;
}	//判断质数的函数int main()
{int a,b;int c[100000];int i=3;int d1,d2,d3,d4,d5;c[0]=5;c[1]=7;c[2]=11;	//2位数和1位数只有这三个是回文质数for(d1=1;d1<=9;d1+=2)for(d2=0;d2<=9;d2++){c[i]=d1*100+d2*10+d1;i++;}	//生成3位回文数for(d1=1;d1<=9;d1+=2)for(d2=0;d2<=9;d2++)for(d3=0;d3<=9;d3++){c[i]=d1*10000+d2*1000+d3*100+d2*10+d1;i++;}	//生成5位回文数for(d1=1;d1<=9;d1+=2)for(d2=0;d2<=9;d2++)for(d3=0;d3<=9;d3++)for(d4=0;d4<=9;d4++){c[i]=d1*1000000+d2*100000+d3*10000+d4*1000+d3*100+d2*10+d1;i++;}	//生成7位回文数for(d1=1;d1<=9;d1+=2)for(d2=0;d2<=9;d2++)for(d3=0;d3<=9;d3++)for(d4=0;d4<=9;d4++)for(d5=0;d5<=9;d5++){c[i]=d1*100000000+d2*10000000+d3*1000000+d4*100000+d5*10000+d4*1000+d3*100+d2*10+d1;i++;}	//生成9位回文数cin>>a>>b;//输入范围for(int i=0;i<100000000;i++){if(c[i]>=a && c[i]<=b && prime(c[i])==true){cout<<c[i]<<endl;}	//判断回文数是否是质数if(c[i]>b)break;	//当超出范围时及时退出循环}
}

P1307 [NOIP 2011 普及组] 数字反转

 P1307 [NOIP 2011 普及组] 数字反转 - 洛谷

(1)考虑负数——先输出符号,再取反;

(2)考虑0——直接输出;

(3)考虑1~9之间的数——直接输出;

(4)考虑其他数——先利用“%”和“/”,把每一位存入数组中;去除前导0;输出

#include<bits/stdc++.h>
using namespace std;int main()
{int n;int a[11]={0};int i=0;cin>>n;if(n<0){cout<<"-";n=-n;}if(n==0){cout<<0;return 0;}if(n>0 && n<10){cout<<n;return 0;}else{while(n!=0){a[i]=n%10;n/=10;i++;}}int daff=0;for(int j=0;j<i;j++){if(a[j]==0 && a[j+1]!=0){daff=j+1;break;}}for(int j=daff;j<i;j++){cout<<a[j];}return 0;
}

 另一种方法(更简单)

#include<bits/stdc++.h>
using namespace std;
int n,s=0;
int main()
{cin>>n;while(n) {s=s*10+n%10;	//在s的末尾加一位n/=10;			//处理n}cout<<s;return 0;
}

 

P1720 月落乌啼算钱(斐波那契数列)

P1720 月落乌啼算钱(斐波那契数列) - 洛谷 

 斐波那契数列

#include<iostream>
using namespace std;
long long a=1,b=1,c=0;
int n,i;
int main()
{cin>>n;for (i=3;i<=n;i++){c=a+b;a=b;b=c;}cout<<c<<".00";return 0;
}

 

P1420 最长连号

P1420 最长连号 - 洛谷

 【方法一】

#include<bits/stdc++.h>
using namespace std;int main()
{int n;int a[1010]={0};cin>>n;for(int i=0;i<n;i++){cin>>a[i];}int num[1010]={0};int j=0;for(int i=0;i<n-1;i++){if(a[i]+1==a[i+1]){num[j]++;}else{j++;}}int max=num[0];for(int i=0;i<=j;i++){if(num[i]>max){max=num[i];}}cout<<max+1;return 0;
}

【方法二】 

#include<bits/stdc++.h>
using namespace std;int main()
{int n,x,y;cin>>n>>x;int num1=0,num2=1;for(int i=1;i<n;i++){cin>>y;if(x+1==y){num2++;x=y;}else{if(num2>num1){num1=num2;num2=1;}x=y;}}int maxn=max(num1,num2);cout<<maxn;return 0;
}

 

 P1075 [NOIP 2012 普及组] 质因数分解

P1075 [NOIP 2012 普及组] 质因数分解 - 洛谷

 在2~i*i<n之间找到的是较小的质数

#include<bits/stdc++.h>
using namespace std;bool isPrime(int x)
{for(int i=2;i*i<=x;i++){if(x%i==0)return 0;}return 1;
}int main()
{int n;cin>>n;int p;for(int i=2;i*i<=n;i++){if(n%i==0 && isPrime(i)==true){p=i;break;}}cout<<n/p;return 0;
}

P5725 【深基4.习8】求三角形

P5725 【深基4.习8】求三角形 - 洛谷

 

 循环嵌套

#include<bits/stdc++.h>
using namespace std;int main()
{int n;cin>>n;int m=1;for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){cout<<setfill('0')<<setw(2)<<m;m++;}cout<<endl;	}cout<<endl;m=1;int num=1;for(int i=1;i<=n;i++){for(int j=1;j<=n-i;j++){cout<<"  ";}for(int j=n-i+1;j<=n;j++){cout<<setfill('0')<<setw(2)<<m;m++;}cout<<endl;}return 0;
}

 

P5726 【深基4.习9】打分

P5726 【深基4.习9】打分 - 洛谷

 double!!!

#include<bits/stdc++.h>
using namespace std;int main()
{int n,a;cin>>n>>a;int sum=a;int max=a;int min=a;for(int i=2;i<=n;i++){cin>>a;if(a>max){max=a;}if(a<min){min=a;}sum+=a;}sum-=max+min;double ans=(double)sum/(n-2);cout<<fixed<<setprecision(2)<<ans;return 0;
}
http://www.dtcms.com/a/289760.html

相关文章:

  • maven构建Could not transfer artifact失败原因
  • 系统思考:整体论
  • 【成品设计】基于STM32的家庭用水检测系统设计
  • 2025《艾诺提亚失落之歌》新手攻略
  • 看板中如何处理跨职能任务协作?
  • 大模型词表设计与作用解析
  • Autosar RTE实现观测量生成-基于ETAS软件
  • [Python] -项目实践2- 用Python快速抓取网页内容(爬虫入门)
  • python网络爬虫小项目(爬取评论)超级简单
  • 阶段1--Linux中的计划任务
  • 调试Claude code的正确姿势
  • 类型混淆、越界写入漏洞
  • 基于单片机出租车计价器设计
  • 重塑优化建模与算法设计:2024上半年大模型(LLM)在优化领域的应用盘点
  • Java入门-【3】变量、字符串、条件、循环、数组的简单总结
  • python 字典中取值
  • SQL189 牛客直播各科目同时在线人数
  • MySQL事物相关
  • Logback简单使用
  • 什么是SEO关键词优化的实战提升指南?
  • 如何系统化掌握角色设计与提示工程的深度整合
  • 基于Event Sourcing和CQRS的微服务架构设计与实战
  • 第十四届全国大学生数学竞赛初赛试题(非数学专业类)
  • 零基础入门 AI 运维:Linux 部署全栈项目实战(MySQL+Nginx + 私有化大模型)
  • 论文解读:Rethinking vision transformer through human–object interaction detection
  • 西门子 S7-1500 系列 PLC CPU 选型全指南:从类型到实战
  • 搭建大模型
  • 新人加入团队后如何快速理解看板?
  • 地图经纬度与地图切片像素坐标换算类
  • 2.组合式API知识点(1)