• 洛谷题单 【入门3】循环结构


    1.P5718

    【深基4.例2】找最小值

    1. #include
    2. int main() {
    3. int min,n;
    4. scanf("%d",&n);
    5. int a[n];
    6. for(int i=0;i
    7. scanf("%d",&a[i]);
    8. }
    9. min=a[0];
    10. for(int i=0;i
    11. if(a[i]
    12. }
    13. printf("%d",min);
    14. return 0;
    15. }

     2.P5719

    【深基4.例3】分类平均

    1. #include
    2. int main() {
    3. double sum1=0,sum2=0,average1,average2;
    4. int n,k,count1=0,count2=0;
    5. scanf("%d%d",&n,&k);
    6. for(int i=1;i<=n;i++){
    7. if(i%k==0){
    8. sum1+=i;
    9. count1++;
    10. }else{
    11. sum2+=i;
    12. count2++;
    13. }
    14. }
    15. average1=sum1/count1;
    16. average2=sum2/count2;
    17. printf("%.1f %.1f",average1,average2);
    18. return 0;
    19. }

     3.P5720

    【深基4.例4】一尺之棰

    1. #include
    2. int main() {
    3. int a,count=1;
    4. scanf("%d",&a);
    5. while(a!=1){
    6. a=a/2;
    7. count++;
    8. }
    9. printf("%d",count);
    10. return 0;
    11. }

    4.P5721 

    【深基4.例6】数字直角三角形

    1. #include
    2. int main() {
    3. int n,sum=1;
    4. scanf("%d",&n);
    5. for(int i=1;i<=n;i++){
    6. for(int j=n+1-i;j>0;j--){
    7. if(sum<10)printf("0");
    8. printf("%d",sum);
    9. sum++;
    10. }
    11. printf("\n");
    12. }
    13. return 0;
    14. }

     5.P1009

    [NOIP1998 普及组] 阶乘之和

    1. def mul(n):
    2. if n==1:
    3. return 1;
    4. else :
    5. return n*mul(n-1)
    6. n=int(input())
    7. sum=0
    8. for i in range(1,n+1):
    9. sum+=mul(i)
    10. print("{}".format(sum))

    6.P1980

    [NOIP2013 普及组] 计数问题

    1. #include
    2. void f(int i,int b,int *count){
    3. int temp;
    4. while(i>0){
    5. temp=i%10;
    6. i=i/10;
    7. if(temp==b) *count+=1;
    8. }
    9. }
    10. int main(){
    11. int a,b,count=0;
    12. scanf("%d%d",&a,&b);
    13. for(int i=1;i<=a;i++)f(i,b,&count);
    14. printf("%d",count);
    15. return 0;
    16. }

     7.P1035

    [NOIP2002 普及组] 级数求和

    1. #include
    2. int main(){
    3. int k,n=1;
    4. double s=1;
    5. scanf("%d",&k);
    6. while(s<=k){
    7. n++;
    8. s+=1.0/n;
    9. }
    10. printf("%d",n);
    11. return 0;
    12. }

    8.P2669

    [NOIP2015 普及组] 金币

    1. #include
    2. int main(){
    3. int k,day=0,m=0,i=1;
    4. scanf("%d",&k);
    5. while(day!=k){
    6. for(int j=1;j<=i;j++){
    7. day++;
    8. m+=i;
    9. if(day==k)break;
    10. }
    11. i++;
    12. }
    13. printf("%d",m);
    14. return 0;
    15. }

     9.P5722

    【深基4.例11】数列求和

    1. #include
    2. #include
    3. int isPrime(int n){
    4. if(n==2)return 1;
    5. if(n%2==0) return 0;
    6. for(int i=3;i<=sqrt(n)+1;i+=2){
    7. if(n%i==0) return 0;
    8. }
    9. return 1;
    10. }
    11. int main(){
    12. int sum=0,count=0,L,n=2;
    13. scanf("%d",&L);
    14. while(sum
    15. if((sum+n)>L) break;
    16. if(isPrime(n)&&((sum+n)<=L)){
    17. printf("%d\n",n);
    18. sum+=n;
    19. count++;
    20. }
    21. n+=1;
    22. }
    23. printf("%d",count);
    24. return 0;
    25. }

    10.P5723

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

    1. #include
    2. #include
    3. int isPrime(int n){
    4. if(n==2)return 1;
    5. if(n%2==0) return 0;
    6. for(int i=3;i<=sqrt(n)+1;i+=2){
    7. if(n%i==0) return 0;
    8. }
    9. return 1;
    10. }
    11. int main(){
    12. int sum=0,count=0,L,n=2;
    13. scanf("%d",&L);
    14. while(sum
    15. if((sum+n)>L) break;
    16. if(isPrime(n)&&((sum+n)<=L)){
    17. printf("%d\n",n);
    18. sum+=n;
    19. count++;
    20. }
    21. n+=1;
    22. }
    23. printf("%d",count);
    24. return 0;
    25. }

     11.P1217

    [USACO1.5] 回文质数 Prime Palindromes

    1. #include
    2. #include
    3. int isPrime(int n){
    4. if(n==2)return 1;
    5. if(n%2==0) return 0;
    6. for(int i=3;i<=sqrt(n)+1;i+=2){
    7. if(n%i==0) return 0;
    8. }
    9. return 1;
    10. }
    11. int main(){
    12. int a,b,d1,d2,d3,d4,n;
    13. scanf("%d%d",&a,&b);
    14. if(b>1&&a<10)
    15. for(d1=1;d1<=9;d1++){
    16. n=d1;
    17. if(isPrime(n)&&(n>=a)&&(n<=b)){
    18. printf("%d\n",n);
    19. }
    20. }
    21. if(b>10&&a<100)
    22. for(d1=1;d1<=9;d1++){
    23. n=10*d1+d1;
    24. if(isPrime(n)&&(n>=a)&&(n<=b)){
    25. printf("%d\n",n);
    26. }
    27. }
    28. if(b>100&&a<1000)
    29. for(d1=1;d1<=9;d1++){
    30. for(d2=0;d2<=9;d2++){
    31. n=100*d1+10*d2+d1;
    32. if(isPrime(n)&&(n>=a)&&(n<=b)){
    33. printf("%d\n",n);
    34. }
    35. }
    36. }
    37. if(b>1000&&a<10000)
    38. for(d1=1;d1<=9;d1++){
    39. for(d2=0;d2<=9;d2++){
    40. n=1000*d1+100*d2+10*d2+d1;
    41. if(isPrime(n)&&(n>=a)&&(n<=b)){
    42. printf("%d\n",n);
    43. }
    44. }
    45. }
    46. if(b>10000&&a<100000)
    47. for(d1=1;d1<=9;d1++){
    48. for(d2=0;d2<=9;d2++){
    49. for(d3=0;d3<=9;d3++){
    50. n=10000*d1+1000*d2+100*d3+10*d2+d1;
    51. if(isPrime(n)&&(n>=a)&&(n<=b)){
    52. printf("%d\n",n);
    53. }
    54. }
    55. }
    56. }
    57. if(b>100000&&a<1000000)
    58. for(d1=1;d1<=9;d1++){
    59. for(d2=0;d2<=9;d2++){
    60. for(d3=0;d3<=9;d3++){
    61. n=100000*d1+10000*d2+1000*d3+100*d3+10*d2+d1;
    62. if(isPrime(n)&&(n>=a)&&(n<=b)){
    63. printf("%d\n",n);
    64. }
    65. }
    66. }
    67. }
    68. if(b>1000000&&a<10000000)
    69. for(d1=1;d1<=9;d1++){
    70. for(d2=0;d2<=9;d2++){
    71. for(d3=0;d3<=9;d3++){
    72. for(d4=0;d4<=9;d4++){
    73. n=1000000*d1+100000*d2+10000*d3+1000*d4+100*d3+10*d2+d1;
    74. if(isPrime(n)&&(n>=a)&&(n<=b)){
    75. printf("%d\n",n);
    76. }
    77. }
    78. }
    79. }
    80. }
    81. if(b>10000000&&a<100000000)
    82. for(d1=1;d1<=9;d1++){
    83. for(d2=0;d2<=9;d2++){
    84. for(d3=0;d3<=9;d3++){
    85. for(d4=0;d4<=9;d4++){
    86. n=10000000*d1+1000000*d2+100000*d3+10000*d4+1000*d4+100*d3+10*d2+d1;
    87. if(isPrime(n)&&(n>=a)&&(n<=b)){
    88. printf("%d\n",n);
    89. }
    90. }
    91. }
    92. }
    93. }
    94. return 0;
    95. }

     12.P1423

    小玉在游泳

    1. #include
    2. int main(){
    3. double s,step=2,sum=0;
    4. int count=0;
    5. scanf("%lf",&s);
    6. while(sum
    7. sum+=step;
    8. step*=0.98;
    9. count++;
    10. }
    11. printf("%d",count);
    12. return 0;
    13. }

     13.P1307

    [NOIP2011 普及组] 数字反转

    1. #include
    2. int main(){
    3. int n,temp,a,flag=0;
    4. scanf("%d",&n);
    5. if(n<0){
    6. n=-n;
    7. printf("-");
    8. }
    9. if(n==0)printf("0");//易错点
    10. a=n;
    11. while(n!=0){
    12. temp=n%10;
    13. if(temp||flag){
    14. printf("%d",temp);
    15. flag=1;//易错点
    16. }
    17. n/=10;
    18. }
    19. return 0;
    20. }

     14.P1720

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

    1. #include
    2. #include
    3. int main(){
    4. int n;
    5. double f;
    6. scanf("%d",&n);
    7. f=((pow(((1+sqrt(5))/2.0),n))-(pow(((1-sqrt(5))/2.0),n)))/sqrt(5);
    8. printf("%.2f",f);
    9. return 0;
    10. }

     15.P5724

    【深基4.习5】求极差 / 最大跨度值

    1. #include
    2. int main(){
    3. int n,min,max;
    4. scanf("%d",&n);
    5. int a[n];
    6. for(int i=0;i
    7. scanf("%d",&a[i]);
    8. }
    9. min=a[0];
    10. max=a[0];
    11. for(int i=0;i
    12. if(a[i]>max)max=a[i];
    13. if(a[i]
    14. }
    15. printf("%d",max-min);
    16. return 0;
    17. }

     16.P1420

    最长连号

    1. #include
    2. int main(){
    3. int n,count;
    4. scanf("%d",&n);
    5. int a[10000],b[10000]={0},j=0;
    6. for(int i=0;i
    7. scanf("%d",&a[i]);
    8. }
    9. for(int i=0;i-1;i++){
    10. if(a[i+1]==(a[i]+1)){
    11. b[j]++;
    12. }else{
    13. j++;
    14. }
    15. }
    16. count=b[0];
    17. for(int i=0;i
    18. if(b[i]>count)count=b[i];
    19. }
    20. count++;
    21. printf("%d",count);
    22. return 0;
    23. }

     17.P1075

    [NOIP2012 普及组] 质因数分解

    1. #include
    2. #include
    3. int isPrime(int n){
    4. if(n==2)return 1;
    5. if(n%2==0)return 0;
    6. for(int i=3;i<sqrt(n)+1;i+=2){
    7. if(n%i==0)return 0;
    8. }
    9. return 1;
    10. }
    11. int main(){
    12. int n,max;
    13. scanf("%d",&n);
    14. for(int i=2;i
    15. if(n%i==0&&isPrime(i)&&isPrime(n/i)){
    16. if(i>n/i){
    17. max=i;
    18. }else{
    19. max=n/i;
    20. }
    21. break;
    22. }
    23. }
    24. printf("%d",max);
    25. return 0;
    26. }

     18.P5725

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

    1. #include
    2. int main(){
    3. int n,k=1;
    4. scanf("%d",&n);
    5. for(int i=1;i<=n*n;i++){
    6. if(i<10)printf("0");
    7. printf("%d",i);
    8. if(i%n==0)printf("\n");
    9. }
    10. printf("\n");
    11. for(int i=1;i<=n;i++){
    12. for(int j=0;j
    13. printf(" ");
    14. }
    15. for(int j=1;j<=i;j++){
    16. if(k<10)printf("0");
    17. printf("%d",k);
    18. k++;
    19. }
    20. printf("\n");
    21. }
    22. return 0;
    23. }

    19.P5726

    【深基4.习9】打分

    1. #include
    2. int main(){
    3. double a[1000],min,max,sum=0,average;
    4. int n;
    5. scanf("%d",&n);
    6. for(int i=0;i
    7. scanf("%lf",&a[i]);
    8. }
    9. min=a[0];
    10. max=a[0];
    11. for(int i=0;i
    12. if(a[i]>max)max=a[i];
    13. if(a[i]
    14. }
    15. for(int i;i
    16. sum+=a[i];
    17. }
    18. average=(sum-min-max)/(n-2);
    19. printf("%.2f",average);
    20. return 0;
    21. }

    20.P4956

    [COCI2017-2018#6] Davor

    1. #include
    2. int main(){
    3. int n,k,x,sum,temp1,temp2;
    4. scanf("%d",&n);
    5. sum=(7*x+21*k)*52;
    6. for(x=100;x>0;x--){
    7. for(k=1;k52*21)+1;k++){
    8. sum=(7*x+21*k)*52;
    9. if(sum==n){
    10. temp1=x;
    11. temp2=k;
    12. break;
    13. }
    14. }
    15. if(sum==n){
    16. break;
    17. }
    18. }
    19. printf("%d\n%d",temp1,temp2);
    20. return 0;
    21. }

     21.P1089

    [NOIP2004 提高组] 津津的储蓄计划

    1. #include
    2. int main(){
    3. int sum1=0,sum2=0,a[12],temp,sum=0,flag=1,j,k;
    4. for(int i=0;i<12;i++){
    5. sum1+=300;
    6. scanf("%d",&a[i]);
    7. sum1-=a[i];
    8. if(sum1>=100){
    9. temp=sum1/100;
    10. sum1-=temp*100;
    11. sum2+=temp*100;
    12. }else if(sum1<0){
    13. j=-(i+1);
    14. if(flag)k=j;
    15. flag=0;
    16. }
    17. }
    18. sum=sum1+sum2*1.2;
    19. if(flag){
    20. printf("%d",sum);
    21. }else{
    22. printf("%d",k);
    23. }
    24. return 0;
    25. }

     

  • 相关阅读:
    Golang 的 GMP:并发编程的艺术
    一本通1067;整数的个数
    Java Web 学习笔记(四) —— MyBatis
    STM32 内部ADC方式_解释(AN2834)
    JAVA枚举
    Asp.NetCore 从数据库加载配置(二)
    全志烧录工具LiveSuite使用注意事项
    基于django+sqlite3的新闻网站管理系统源代码,含数据库文件
    Mybatis Plus 框架项目落地实践总结
    vite.config.js或者vue.config.js配置
  • 原文地址:https://blog.csdn.net/Rhett_Butler0922/article/details/132907822