#include <stdio.h>
int main(int argc, string argv[])
{
Get input from the user;
Store it in a long long int;
// iterate through the number
for each odd number in the input multiply by 2
if the number is bigger than 9 then
do module of it and add it to the first number;
store it into metasum;
for each even number in the input
add it to the others;
store the result into metasum2;
// is it a valid card?
if (metasum + metasum2)%10 == 0
{
card is valid;
// check which kind of cc is
if the input begins with a 3 then it's an AMEX;
else if the input begins with 4 it is a VISA;
else if the input begins with 5 it is a MASTERCARD;
}
else
{
card is not valid;
}
}
これは実際には一種の擬似コードです。CS50xに参加していますが、擬似コードの実装が十分かどうかを知りたいです。
ただし、別の問題があります。CIでコードを実装しようとすると、long long intを反復処理する方法がわからないため、Luhnのアルゴリズムを実装できません。
文字列を使用せずに、各文字をintに変換せずにこれを行うにはどうすればよいですか?
御返答いただき有難うございます