两个数组a[N],b[N],其中A[N]的各个元素值已知,现给b[i]赋值,b[i] = a[0]*a[1]*a[2]…*a[N-1]/a[i];...
生活随笔
收集整理的這篇文章主要介紹了
两个数组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 \n",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?
[cpp]?view plaincopy本文轉自夏雪冬日博客園博客,原文鏈接:http://www.cnblogs.com/heyonggang/p/3171558.html,如需轉載請自行聯系原作者
總結
以上是生活随笔為你收集整理的两个数组a[N],b[N],其中A[N]的各个元素值已知,现给b[i]赋值,b[i] = a[0]*a[1]*a[2]…*a[N-1]/a[i];...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: word java api,是否有可以创
- 下一篇: 利用VOIP电话通信服务,他骗得18亿美