#include
using namespace std;
int main()
{
int input, ans;
while (cin >> input && input != 0)
{
for(ans = 0; input > 0 && input % 2 == 1; ans++)
input /= 2;
cout << ans << endl;
}
return 0;
}
for(ans = 0; input > 0 && input % 2 == 1; ans++)
裡的 input>0 其實是多餘的,因為當input=0時,input%2=0;
#include
using namespace std;
int main()
{
int input, ans;
while (cin >> input && input != 0)
{
for(ans = 0; input > 0 && input % 2 == 1; ans++)
input /= 2;
cout << ans << endl;
}
return 0;
}
for(ans = 0; input > 0 && input % 2 == 1; ans++)
裡的 input>0 其實是多餘的,因為當input=0時,input%2=0;
感謝提醒阿哈哈哈
突然看到自己快半年前寫的CODE 希望有幫助到新手就好~~~~
下面是更短更有效率的寫法 :
#include <iostream>
using namespace std;
int main() {
int input, ans;
while ( cin >> input && input ) {
for ( ans = 0; (input & 1); ++ans )
input >>= 1;
cout << ans << endl;
}
return 0;
}
#include
using namespace std;
int main()
{
int input, ans;
while (cin >> input && input != 0)
{
for(ans = 0; input > 0 && input % 2 == 1; ans++)
input /= 2;
cout << ans << endl;
}
return 0;
}
for(ans = 0; input > 0 && input % 2 == 1; ans++)
裡的 input>0 其實是多餘的,因為當input=0時,input%2=0;
感謝提醒阿哈哈哈
突然看到自己快半年前寫的CODE 希望有幫助到新手就好~~~~
下面是更短更有效率的寫法 :
#include
using namespace std;
int main() {
int input, ans;
while ( cin >> input && input ) {
for ( ans = 0; (input & 1); ++ans )
input >>= 1;
cout << ans << endl;
}
return 0;
}
想問一下,為什麼你這樣寫就不會超時呢???
我跟你寫的幾乎一樣,但是一直超時
#include
using namespace std;
int main()
{
int input, ans;
while (cin >> input && input != 0)
{
for(ans = 0; input > 0 && input % 2 == 1; ans++)
input /= 2;
cout << ans << endl;
}
return 0;
}
for(ans = 0; input > 0 && input % 2 == 1; ans++)
裡的 input>0 其實是多餘的,因為當input=0時,input%2=0;
感謝提醒阿哈哈哈
突然看到自己快半年前寫的CODE 希望有幫助到新手就好~~~~
下面是更短更有效率的寫法 :
#include
using namespace std;
int main() {
int input, ans;
while ( cin >> input && input ) {
for ( ans = 0; (input & 1); ++ans )
input >>= 1;
cout << ans << endl;
}
return 0;
}
想問一下,為什麼你這樣寫就不會超時呢???
我跟你寫的幾乎一樣,但是一直超時