zoukankan      html  css  js  c++  java
  • 两个数组a[N],b[N],其中A[N]的各个元素值已知,现给b[i]赋值,b[i] = a[0]*a[1]*a[2]…*a[N-1]/a[i];

    转自:http://blog.csdn.net/shandianling/article/details/8785269

    问题描述:两个数组a[N],b[N],其中A[N]的各个元素值已知,现给b[i]赋值,b[i] = a[0]*a[1]*a[2]…*a[N-1]/a[i];
    要求:

    1.不准用除法运算

    2.除了循环计数值,a[N],b[N]外,不准再用其他任何变量(包括局部变量,全局变量等)

    3.满足时间复杂度O(n),空间复杂度O(1)

     1 #include <stdio.h>  
     2 #include <stdlib.h>  
     3   
     4 void pr_arr(int s[],int len)  
     5 {  
     6     for(int i = 0 ; i <= len - 1 ; i++) 
     7     {  
     8         printf("%d 
    ",s[i]);  
     9     }  
    10 }  
    11 int main()  
    12 {  
    13    int a[]={2,3,7,23,6,5,1,23,89,23};  
    14     int *b=(int*)malloc(sizeof(a));  
    15     b[0]=1;  
    16     int len=sizeof(a)/sizeof(int);  
    17     int j,i;  
    18     for( i=1;i<len;i++)  
    19     {  
    20         b[i]=b[i-1]*a[i-1];  
    21     }  
    22     for(j=len-2;j>=1;j--)  
    23     {  
    24         b[0]*=a[j+1];  
    25         b[j]*=b[0];  
    26     }  
    27     b[0]*=a[1];  
    28     pr_arr(b,len);  
    29     return 0;  
    30 }
    31   
      1. #include <stdio.h>  
      2. #include <stdlib.h>  
      3.   
      4. void pr_arr(int *s,char len)  
      5. {  
      6.     while(len--)  
      7.     {  
      8.         printf("%d  ",*s++);  
      9.     }  
      10. }  
      11. int main()  
      12. {  
      13.    int a[]={2,3,7,23,6,5,1,23,89,23};  
      14.     int *b=(int*)malloc(sizeof(a));  
      15.     b[0]=1;  
      16.     int len=sizeof(a)/sizeof(*a);  
      17.     int j,i;  
      18.     for( i=1;i<len;i++)  
      19.     {  
      20.         b[i]=b[i-1]*a[i-1];  
      21.     }  
      22.     for(j=len-2;j>=1;j--)  
      23.     {  
      24.         b[0]*=a[j+1];  
      25.         b[j]*=b[0];  
      26.     }  
      27.     b[0]*=a[1];  
      28.     pr_arr(b,len);  
      29.     return 0;  
      30.   
  • 相关阅读:
    数组指针:a pointer to an array,即指向数组的指针
    爬取人人网新鲜事python版本
    python的专用类方法
    北邮校园网管登陆python脚本
    北邮人论坛python模拟登录程序
    结对项目四则运算“软件”升级版
    了解大数据的特点、来源与数据呈现方式
    第一次作业:准备
    第二次作业:分布式版本控制系统Git的安装与使用
    第三次作业 四则运算
  • 原文地址:https://www.cnblogs.com/heyonggang/p/3171558.html
Copyright © 2011-2022 走看看