ビットワイズ演算子を使用して整数の最後桁と最初の桁を入れ替えるよう尋ねられました。たくさん試しましたが、解決策を見つけることができませんでした。これどうやってするの?ビット単位の演算子を使用して整数の最初と最後の数字をスワップ
答えて
自明な解:
def swap_digit(n):
x = str(n)
if len(x) < 2:
return x
return int(x[-1] + x[1:-1] + x[0])
EDIT:追加されました迅速かつ汚いC液
#include <stdio.h>
#include <string.h>
int main()
{
int n = 123456789;
char buf[100];
int r = snprintf(buf, sizeof(buf), "%d", n);
char t = buf[0];
buf[0] = buf[r-1];
buf[r-1] = t;
int swap;
sscanf(buf, "%d", &swap);
printf("n = %d, swap = %d\n", n, swap);
return 0;
}
@Mikolaは文字列として数字をとっていますか? –
問題はありませんが、整数を返します。あなたは他の何かをするためにそれを簡単に変更することができます。 – Mikola
@Mikolaしかし、この質問には 'C'タグがあります。 –
def swap(i):
s = list(str(i))
s[0], s[-1] = s[-1], s[0]
i = int(''.join(s))
return i
print swap(123456789) # 923456781
利用int digits = log10(x)
桁数を取得します。
int first = x/pow(10,digits)
を使用して最初の桁を取得します。
int last = x % 10
を使用して最後の桁を取得します。
一緒にすべてを入れて、あなたはそれが近くに作ったあなたはなぜ
int swapped = x + (last - first) * pow(10,digits) + (first - last)
すごい!想像力+1。 –
私のシステムでは999999999999999のために失敗します。 –
@Dietrich Epp:はい、 '999999999999999> 2^31-1'が' int'には大きすぎます。私は 'おそらく不十分ですが、質問に対するコメントに基づいて' 'x'が' int'として与えられていると仮定していました。 – PengOne
- 1. ビット単位の演算子を使用して整数に5を掛ける
- 2. 最初と最後のデバウンス演算子
- 3. ビット単位の演算を使用して整数値の任意の数字を付加する
- 4. ビット単位のAND演算子を使用してJavaに「&」
- 5. JavaScriptとビット単位の演算子
- 6. 定数のMasmビット単位の演算
- 7. COBOLのビット単位論理演算子?
- 8. ビット単位の演算子(インクリメントデクリメントあり)
- 9. ビット単位の演算子標準は
- 10. JavaScriptビット単位の演算子
- 11. ビット単位の演算子を使って変数を結合する
- 12. 整数型とlong型のJavaのビット演算子ですか?
- 13. ビット単位の演算子を使用してJAVAのメルセンヌ数を確認する
- 14. C++のブーストライブラリを使用したビット単位の演算
- 15. GPUでの整数演算とビット演算の実行
- 16. ビット単位の演算子とシフトの問題
- 17. C++の8ビット整数と32ビット整数のビット単位の論理和
- 18. ビット演算子を使用してCの符号なし整数からビットを分離する方法は?
- 19. ビット単位の演算子による行列乗算
- 20. このビット単位の演算子関数の問題は何ですか?
- 21. python最下位6ビット整数
- 22. がどのようにビット単位の演算子を列挙
- 23. Qtプロジェクトでビット単位の演算子が壊れていた
- 24. 整数とビットの配列の間のビット演算
- 25. 32ビット整数のRotateLeft演算
- 26. ReactiveX rx-androidの最初の演算子
- 27. 大きな整数を使用したビット演算
- 28. 円のビット単位の演算 - as3
- 29. ビット単位の演算子の出力の差
- 30. CUDA int4ビット単位の演算
を持っています? –
この質問に間違いがあります –
'%10'を自由に使用すると、どこに行かなければならないのでしょうか。 「何が間違っているのか」に関しては、ほとんどのSOユーザーはあなたがそれを解決しようとすることを示すことを好みます。 –