1 solutions
-
0
C :
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <math.h> int main(){ void power(int n); int n; scanf("%d",&n); power(n); } void power(int n){ if (n==1){ printf("2(0)"); return; } if (n==2){ printf("2"); return; } if (n==3){ printf("2+2(0)"); } if (n!=1 && n!=2 && n!=3){ int a; for (a=0;;a++){ if ((int)pow((double)2,a)<=n && n<(int)pow((double)2,a+1)){ printf("2("); power(a); printf(")"); if (n-(int)pow((double)2,a)==0) return; else{ printf("+"); power(n-(int)pow((double)2,a)); } break; } } } }
C++ :
#include<iostream> #include<cstdio> using namespace std; bool f=1; void p(int n,int z){ if(n==0) return; int y; y=n%2; p(n/2,++z); if(y>0) { z--; if(!f&&n!=1)cout<<"+"; if(z==1) cout<<"2"; if(z==0) cout<<"2(0)"; if(z>1){cout<<"2("; p(z,0); cout<<")"; } f=0;} } int main(){ int n; cin>>n; p(n,0); }
- 1
Information
- ID
- 638
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- 10
- Tags
- # Submissions
- 7
- Accepted
- 0
- Uploaded By