#include<bits/stdc++.h>
using namespace std;
int main()
{
int x, y;
while (cin>>x>>y) {
cout<<x<<"*"<<y<<"=";
int sum = x * y;
int a[100];
int i = 0;
while (x != 1 ) {
if (x % 2 != 0) {
a[i++] = y;
}
x /= 2;
y *= 2;
}
a[i] = y;
for (int j = 0; j <= i; j++) {
cout<<a[j];
if (j != i) {
cout<<"+";
}
}cout<<"="<<sum<<endl;
}
return 0;
}
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
while (cin>>n) {
int a[200] = {
0};
int i, sum = 0;
for (i = 1;;i++) {
a[i] = i;
sum += i;
if (sum + i + 1 > n) {
break;
}
}
int surplus = n - sum;
for (int j = i; surplus--; j--) {
a[j]++;
}
for (int k = 1; k <= i; k++) {
cout<<a[k];
if (k == i) {
cout<<endl;
} else {
cout<<",";
}
}
}
return 0;
}
我的代码,运行正确,ojWA
正确输出
127
129
130
135
141
142
150
151
154
160
164
170
错误输出:
126
130
131
136
142
151
155
161
165
171
179
186
#include <iostream>
#include <sstream>
#include <string>
#include <cmath>
using namespace std;
int hw(int s)
{
int ans=0;
for(int i=2;i<=10;i++)
{
if(ans==2) break;
int s0=s,j=0;
long long x=0;//转换成二进制可能很长
while(s0)
{
x+=(s0%i)*pow(10,j);
s0/=i;
j++;
}
//cout<<x<<endl;
stringstream t;
string s;
t<<x;
t>>s;
int ls=s.size()